当前位置:网站首页>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"在执行的命令前加载环境变量,
边栏推荐
猜你喜欢
客户端媒体引擎框架
weiteUP-ciscn_2019_c_1
三栏布局:左右固定宽,中间自适应的几种方式
Mysql学习(四)
C语言,输入一个10以内的随机数,按要求求得表达式的值。
js事件流
Lens 创建 Service Accounts 及分配权限
Heap series _0x05: A diagram analyzes the connection between heap block allocation and FreeLists
C语言知识细节点(一)
yum安装mariadb数据库之后启动时提示 Failed to start mariadb.service: Unit not found
随机推荐
文件IO及其函数使用
三栏布局:左右固定宽,中间自适应的几种方式
go使用Consul实用指南
WinServer 2019 组策略开启远程桌面
weiteUP-ciscn_2019_c_1
Win10 Runas 命令 域用户以管理员权限运行
数组指针的使用方法
RAID磁盘阵列详解
Vim practical skills_0.vim - introduction
Heap series _0x05: A diagram analyzes the connection between heap block allocation and FreeLists
js事件流
Makefile通用模板
Unity Shader零基础入门4:纹理贴图与法线贴图
Unity Shader零基础入门2:环境光、漫反射、高光
指针常量和常量指针和类中的const
爬虫实战 某问答网站乎
层次分析法
JS字符串对象基础操作方法
vs2017下配置sqlite3环境
在任务管理器中结束任务进程之后电脑直接黑屏了