我正在尝试在应该执行以下操作的bash shell脚本中执行ssh命令: 1)ssh到主持人 2)执行命令 3)打印命令值 4)重复步骤1-3 5)退出bash shell脚本
我已设置密码较少的远程主机条目,将主机密钥添加到远程主机
我想测试远程主机上运行的httpd进程的各种状态 在一个文本文件httpd_process.txt中,我有:
/etc/init.d/httpd status(停止,启动,重启)
我在脚本中执行以下操作:
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
我假设每次循环都会从输入文本文件中读取另一个输入字符串,并向远程主机发出请求。 但是,我遇到的是在第一次请求后脚本终止。 我是否正确地认为,当第一个请求被发送时,它会创建一个子进程,一旦该进程完成,我的脚本就会完成,并且下一轮循环不会被执行?
答案 0 :(得分:12)
ssh
正在消耗stdin。传递它-n
以防止这种情况发生。