我可以在不调用 .profile 的情况下通过 ssh 进入我的帐户吗?

我可以在不调用 .profile 的情况下通过 ssh 进入我的帐户吗?

我想通过 ssh 登录我的帐户,但我不想执行当前版本的 .profile 登录脚本。有没有办法在不运行 .profile 的情况下登录?

(免责声明:我找到了一种解决方法并发布在下面,但我想知道是否还有更好的答案)

答案1

您可以运行以下命令:

ssh -t user@host bash --noprofile

其中-t选项ssh是强制终端分配。

答案2

这就是我最终做的事情:

scp me@machine:.profile .
# Fix .profile
scp .profile me@machine:.
ssh me@machine

答案3

为了永久避免麻烦,在.bashrc目标系统中,我已:

if [ -z "$SSH_CLIENT" ] ; then  
...
fi

围绕与 ssh 不兼容的东西。SSH_CLIENT是为通过 ssh 调用的 shell 定义的,而不是为其他 shell 定义的。

ssh user@somewhere "env >env.ssh"

走过去somewhere,以 登录user,然后:

env >env.local
diff env.local env.ssh

相关内容