shell下for循环每次读入文件一行数据

2018年09月06日 12975点热度 2人点赞

  说到按行来从文件读取数据,正常我们肯定会直接用while来实现的。但是在某些特殊情况下使用while可能会出现问题(例如while循环里嵌套sshpass命令时,while在从文件读取数据时,只读取第一行数据就自动退出了,并且退出状态为0),所以这里测试下用for循环来逐行从文件读取数据。


一、先拿一个错误的用法来做示例

1.1 目前有info.txt这个文件,里面存储了以空格分割的IP、用户名、密码等信息。


1.2 我们按照while的习惯来写脚本尝试使用for读取文件每行数据(当然下面这个脚本是有问题的)。


1.3 因为for循环会以空格分割读入的数据,所以如果像上面脚本那样调用输出显然不是我们希望看到的情况。



二、shell下使用for循环来按行从文件读入数据(每次读入一整行数据)

2.1、修改后的脚本如下所示:


2.2执行结果如下所示:



Chen

健康 · 开心 · 做自己