我目前正在编写一个bash脚本来帮助我更新一些服务器,所以我需要连接到那里,运行yum update -y然后有时键入其他命令。 我现在有这个设置:
for servers in $devservers do ssh $servers 'yum update -y' done
但问题是,当我运行这个,它不会允许我写一些额外的命令,以防万一我需要 – 就像我需要重新启动某些服务时。 有没有办法让脚本等我,直到我退出服务器?
如果在yum结束后需要shell访问,则需要运行bash或首选shell。 还使用-t将帮助您正常工作(分配远程TTY)。
for servers in $devservers do ssh -t $servers 'yum update -y;bash' done
你可以通过请求一个tty来做到这一点:
for servers in $devservers do ssh -tt $servers 'stty raw -echo; sudo yum update -y' done