我正在远程ssh主机上执行以下脚本:
ssh -tt $ USER@somehost 'bash -s' <./myscript.sh
注意伪终端-tt开关。
我的问题是在脚本运行结束后,ssh会话不会结束。输入exit也没有任何作用。如何使其退出?
ssh -tt $ USER@somehost 'bash -s' <./myscript.sh
注意伪终端-tt开关。
我的问题是在脚本运行结束后,ssh会话不会结束。输入exit也没有任何作用。如何使其退出?
exit
语句。exit
的原因是,当您强制分配pty时,pty期望输入是终端...从终端读取EOF
并不意味着“再也没有数据了”,就像对于管道/文件一样 - 它仅仅意味着“当前用户没有更多的输入” - 因此会出现停顿...它正在等待进一步的输入。myscript.sh
)会“挂起”:echo "Hello World..."
这不行:
echo "Hello World..."
exit 0
echo Hello World
pwd
exit
pwd
。 - Alex