gpt4 book ai didi

linux - 通过 ssh 连接找不到 Bash、别名/自定义函数

转载 作者:太空宇宙 更新时间:2023-11-04 04:33:43 27 4
gpt4 key购买 nike

我有一台计算机 A(kali linux),我在 bash_aliases 中为用户“test”定义了一些别名和函数。我可以在计算机 A 上使用这些别名/函数,没有任何问题。

在计算机 B 上,我使用 SSH 命令连接到 A,并尝试执行我定义的别名/函数。但我收到错误“bash:myaliasA:找不到命令”

Here我发现我必须添加“shopt -s Expand_aliases”命令。

我将其添加到计算机 A 的 .bashrc(以及源 .bashrc)中,但仍然遇到相同的错误(未找到命令)

我将其添加到计算机B的.bashrc(和源.bashrc)中,同样,当我使用ssh连接时,我仍然得到“命令未找到”

我不明白问题出在哪里:/

在计算机 A 中,当我运行命令“shopt”时,我得到:

...
execfail off
expand_aliases on
extdebug off
...

在计算机 B 中也是如此:

...
execfail off
expand_aliases on
extdebug off
...

从我的计算机 A,我可以毫无问题地执行所有别名/函数。

从我的计算机B,当我执行此命令时:

ssh userA@ipofcomputerA -p xxxx "alias"

该命令不返回任何内容

但是如果我执行:

ssh userA@ipofcomputerA -p xxxx "shopt"

我明白了:

...
execfail off
expand_aliases off
extdebug off
...

expand_aliases 设置为关闭!

所以,我测试一下:

ssh userA@ipofcomputerA -p xxxx "shopt -s expand_aliases ; shopt ; myaliasA"

ssh userA@ipofcomputerA -p xxxx "shopt -s expand_aliases ; shopt ; source .bashrc ; myaliasA"

通过这两个命令,我得到:

...
execfail off
expand_aliases on
extdebug off
...

但我得到“bash:myaliasA:找不到命令”

我要疯了x)哈哈

最佳答案

确保在 ssh 时使用与配置相同的 shell,并尝试重置以重新加载 .bashrc 文件。

顺便说一句,实现此目的的一个好方法是打开一个新的 tmux session ,并在每次 ssh 进入服务器时附加到它。

关于linux - 通过 ssh 连接找不到 Bash、别名/自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39219806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com