当前位置:网站首页>while read line中执行ssh出现只执行一次
while read line中执行ssh出现只执行一次
2022-08-09 15:04:00 【凤求凰的博客】
今天在写脚本统计大数据组的所有主机的ssd盘的挂载点位置的时候,先将主机名先写好在一个文本中,然后在脚本中循环读取主机名,然后使用ssh远程执行命令,发现只执行一次就退出了,但是把ssh远程命令注销之后可以完整的将while循环执行完毕。
参考:http://bbs.chinaunix.net/thread-3582099-1-1.html
https://blog.csdn.net/eclipse_c/article/details/51912115
发现ssh在执行时会进行读取所有的输入,会把读取文件剩下的都读入,导致在第二次执行时没有内容可读,因此会退出while循环
解决办法,在while循环中我们可以指定 ssh的读取为空,可以在ssh command 后指定一个为空的输入,< /dev/null,或者在ssh 后加上 -n , ssh -n command等同于 < /dev/null
在使用ssh执行远程命令时,不会执行用户登录操作,因此可能缺少一些变量,我们可以使用 ssh -n "source /etc/profile; command"在执行的命令前加载环境变量,
边栏推荐
猜你喜欢
随机推荐
Mysql学习(三)
Unity Shader 透视效果/XRay
webSocket的实现
MATLAB Solution to Planning Problems - MATLAB in Mathematical Modeling (2nd Edition)
websocket协议详解与抓包分析
杭州富阳科目三新规3号线考试攻略
如何通过Photoshop根据纹理贴图轻松获得法线贴图
MySQL数据库基本知识
Ntdsutil 转移主域控五大角色
基于X264的动态帧率与动态码率调整的实现
Office365 AzureAD Intune 配置
(一)BFC
The practical skills Vim _1. Vim way of solving problems
C语言知识细节点(二)
7z解压软件(小巧好用)。百度云下载链接
(十)打包和项目部署
微信小程序学习(二)
Analytic Hierarchy Process (AHP) - Applications of MATLAB in Mathematical Modeling (2nd Edition)
Mysql学习(四)
C语言知识细节点(一)