Jesse_Pinkman Asked: 2016-11-16 12:27:56 +0800 CST2016-11-16 12:27:56 +0800 CST 2016-11-16 12:27:56 +0800 CST 运行 SSH 命令后如何让 bash 脚本等待? 772 我目前正在编写一个 bash 脚本来帮助我更新一些服务器,所以我需要在那里连接、运行yum update -y,然后有时输入其他命令。我目前确实有这个设置: for servers in $devservers do ssh $servers 'yum update -y' done 但问题是当我运行它时,它不允许我编写一些额外的命令以防万一——比如当我需要重新启动某些服务时。有没有办法让脚本等我退出服务器? bash ssh 2 个回答 Voted Best Answer Jakuje 2016-11-16T23:01:49+08:002016-11-16T23:01:49+08:00 如果您需要在yum结束后访问 shell,则需要运行一个bash或您喜欢的 shell。也使用-t将帮助您正常工作(分配远程 TTY)。 for servers in $devservers do ssh -t $servers 'yum update -y;bash' done aurelien 2016-11-16T12:39:23+08:002016-11-16T12:39:23+08:00 你可以通过请求一个 tty 来做到这一点: for servers in $devservers do ssh -tt $servers 'stty raw -echo; sudo yum update -y' done
如果您需要在
yum
结束后访问 shell,则需要运行一个bash
或您喜欢的 shell。也使用-t
将帮助您正常工作(分配远程 TTY)。你可以通过请求一个 tty 来做到这一点: