我想通过 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