我正在尝试在bash shell脚本中执行ssh命令,该脚本应执行以下操作: 1) ssh到主机2)执行命令3)打印命令4)重复步骤1 -3 5)退出bash shell脚本
我已经设置了远程主机的无密码入口,并向远程主机添加了主机密钥
我想在文本文件httpd_process.txt中测试远程主机上运行的httpd进程的各种状态,我有:
/etc/init.d/httpd状态(停止、启动、重新启动)
我在脚本中执行以下操作:
while read LINE
do
echo "Httpd Request: $LINE"
status=`$LINE`
echo "Status: $status"
sleep 5 # sleep so that next
done < /path_name/httpd_process.txt
exit 0我假设每次通过循环都会从输入文本文件中读取另一个输入字符串,并向远程主机发出请求。然而,我所经历的是,在第一个请求之后,脚本终止。当第一个请求被发送时,它创建了一个子进程,一旦这个进程完成,我的脚本就完成了,下一次循环不会被执行,这样的假设是正确的吗?
发布于 2011-06-15 06:45:07
ssh正在使用标准输入。向它传递-n以防止发生这种情况。
https://stackoverflow.com/questions/6351022
复制相似问题