SSH命令执行挂起,但交互式外壳程序功能正常

SSH命令执行挂起,但交互式外壳程序功能正常,第1张

SSH命令执行挂起,但交互式外壳程序功能正常

问题确实出在我的登录脚本上,尽管与需要一个终端无关(我怀疑这并用

-t
-T
选项进行了测试)。问题是,我
.bashrc
是运行的
exec
(在这种情况下
zsh
-因为我们的系统不允许
chsh
zsh
)。

令人反感的行:

test -f /usr/bin/zsh && exec /usr/bin/zsh

通过首先检查交互式shell并退出(如果是)来解决:

[ -z "$PS1" ] && returntest -f /usr/bin/zsh && exec /usr/bin/zsh

因此,从本质上讲,因为shell正在执行

zsh
,所以它
ssh
在等待完成-从未发生。

我有点困惑为什么我

.bashrc
被调用-我以为这仅是用于交互式shell,但是各种初始化脚本的确切目的和顺序是我永远都不会学到的。

我希望这对其他具有

exec
启动脚本的人有用。

顺便说一句-
其他两个答案都在正确的轨道上,所以我完全不确定是应该“回答”还是只评论他们的答案。如果在stackoverflow上回答我自己的问题在道德上是错误的,请告诉我,我会后悔的。谢谢其他答复者。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4959405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存