我正在尝试在bash shell脚本中执行ssh命令,应该执行以下操作:
1)ssh到主机
2)执行命令
3)打印命令值
4)重复步骤1-3
5)退出bash shell脚本
我已经设置了无密码登录到远程主机,并添加了主机密钥。
我想测试运行在远程主机上的httpd进程的各种状态。 在一个文本文件httpd_process.txt中,我有:
/etc/init.d/httpd status (stop, start, restart)
在脚本中我做如下操作:
我以为每次循环会从输入文本文件中读取另一个输入字符串并向远程主机发出请求。然而,我的经验是在第一次请求后脚本终止了。 我是否正确地假设,当第一个请求被发送时,它会创建一个子进程,一旦该进程完成,我的脚本就完成了,并且不会执行下一次循环?
我已经设置了无密码登录到远程主机,并添加了主机密钥。
我想测试运行在远程主机上的httpd进程的各种状态。 在一个文本文件httpd_process.txt中,我有:
/etc/init.d/httpd status (stop, start, restart)
在脚本中我做如下操作:
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
我以为每次循环会从输入文本文件中读取另一个输入字符串并向远程主机发出请求。然而,我的经验是在第一次请求后脚本终止了。 我是否正确地假设,当第一个请求被发送时,它会创建一个子进程,一旦该进程完成,我的脚本就完成了,并且不会执行下一次循环?
ssh
在后台运行时,必须使用它。当ssh
在前台运行时,可以使用它。 - Ignacio Vazquez-Abrams