退出 ssh -tt 会话
Exiting ssh -tt session
我正在远程 ssh 主机上执行如下脚本:
ssh -tt $USER@somehost 'bash -s' < ./myscript.sh
注意伪 tty -tt
开关。
我的问题是脚本完成后 运行 ssh 会话没有结束。输入 exit
也没有任何作用。我如何让它退出?
在没有进一步信息的情况下,即使按照问题执行,以下脚本在执行后也会正确退出。如果这不起作用,请提供一个它不起作用的示例。
echo Hello World
pwd
exit
您缺少 exit
语句。
我怀疑 exit
是必要的原因是因为当你强制分配一个 pty 时,pty 期望输入是一个终端......从终端读取 EOF
并不意味着“永远不会有更多的数据”就像它对管道/文件所做的那样——它只是意味着“目前没有来自用户的更多输入' - 因此挂起......它正在等待进一步输入。
此输入脚本(myscript.sh
)'hangs':
echo "Hello World..."
这不是:
echo "Hello World..."
exit 0
我正在远程 ssh 主机上执行如下脚本:
ssh -tt $USER@somehost 'bash -s' < ./myscript.sh
注意伪 tty -tt
开关。
我的问题是脚本完成后 运行 ssh 会话没有结束。输入 exit
也没有任何作用。我如何让它退出?
在没有进一步信息的情况下,即使按照问题执行,以下脚本在执行后也会正确退出。如果这不起作用,请提供一个它不起作用的示例。
echo Hello World
pwd
exit
您缺少 exit
语句。
我怀疑 exit
是必要的原因是因为当你强制分配一个 pty 时,pty 期望输入是一个终端......从终端读取 EOF
并不意味着“永远不会有更多的数据”就像它对管道/文件所做的那样——它只是意味着“目前没有来自用户的更多输入' - 因此挂起......它正在等待进一步输入。
此输入脚本(myscript.sh
)'hangs':
echo "Hello World..."
这不是:
echo "Hello World..."
exit 0