加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在循环中的bash shell脚本中执行ssh命令

发布时间:2020-12-15 22:21:41 所属栏目:安全 来源:网络整理
导读:参见英文答案 in my bash loop over a list of some servers,if the ssh connects the bash script exits????????????????????????????????????2个 我正在尝试在应该执行以下操作的bash shell脚本中执行ssh命令: 1)ssh到主持人 2)执行命令 3)打印命令值 4)
参见英文答案 > in my bash loop over a list of some servers,if the ssh connects the bash script exits????????????????????????????????????2个
我正在尝试在应该执行以下操作的bash shell脚本中执行ssh命令:
1)ssh到主持人
2)执行命令
3)打印命令值
4)重复步骤1-3
5)退出bash shell脚本

我设置了密码较少的远程主机条目,将主机密钥添加到远程主机

我想测试在远程主机上运行的httpd进程的各种状态
在一个文本文件httpd_process.txt中,我有:

/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

我假设每次通过循环时,从输入文本文件中读取另一个输入字符串,并向远程主机发出请求.
但是,我遇到的是在第一次请求后脚本终止.
我是否正确地假设当第一个请求被发送时,它会创建一个子进程,一旦该进程完成,我的脚本就完成了,下一轮循环没有被执行?

解决方法

ssh正在消耗stdin.传递它-n以防止这种情况发生.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读