主要内容:Shell 脚本中while循环仅执行一次直接结束循环,问题分析及解决方案
========================================================
学习过Shell脚本的都很清楚,while循环非常适合处理文件的,其自带一种光环就是可以逐行读取文件处理。
在学习Shell脚本编程的时候,发现了while循环逐行处理文件时有时会出现执行一次循环后直接退出的情况。
经过多次脚本测试发现,有这样两种情况(以批量查看磁盘空间使用率为例):
第一种:脚本执行主机到目标主机未建立互信【如下脚本是可以正常执行】
第二种:脚本执行主机到目标主机建立互信【如下脚本是不能正常执行,会出现执行一次循环直接退出的情况】
注意:以上的ip.conf文件中为IP地址列表
while循环执行一次直接退出解决方案:
使用for循环代替while循环,如下代码片段既可以避免出现循环执行一次直接退出的问题。