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