首页 > 技术文章 > Shell脚本while 循环仅执行了一次就退出,神坑

lvclass 2021-02-20 11:54 原文

主要内容:Shell 脚本中while循环仅执行一次直接结束循环,问题分析及解决方案

========================================================

学习过Shell脚本的都很清楚,while循环非常适合处理文件的,其自带一种光环就是可以逐行读取文件处理。

在学习Shell脚本编程的时候,发现了while循环逐行处理文件时有时会出现执行一次循环后直接退出的情况。

 

经过多次脚本测试发现,有这样两种情况(以批量查看磁盘空间使用率为例):

第一种:脚本执行主机到目标主机未建立互信【如下脚本是可以正常执行】

第二种:脚本执行主机到目标主机建立互信【如下脚本是不能正常执行,会出现执行一次循环直接退出的情况】

注意:以上的ip.conf文件中为IP地址列表 

 

while循环执行一次直接退出解决方案:

 使用for循环代替while循环,如下代码片段既可以避免出现循环执行一次直接退出的问题。

 

推荐阅读