while read line 是一次性将信息读入并赋值给line ,而for是每次读取一个以空格为分割符的字符串。 while中使用重定向机制,ip列表中的所有信息都被读入并重定向给了整个while语句中的line变量。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。 问题就出在这里,$line中的最后一行已经读完,无法获取...
while read line ; do echo $line ; done < ./a.txt 失败, 会是什么原因, 当时觉得不太可能, 就回答了“我用的时候没有碰到过这种情况”。 前段在写一个脚本的时候, 确实遇到了所谓的while read 失败, 原因是我读入的文件是在win下用dos格式保存的文本, 所以每行结束都带有一个\r字符, 这个字符在linu...
while read line; do echo ***$LINE ssh 192.168.10.233 ls done < data 执行这个shell就会发现,ssh中的cat语句会打印出data文件中的其他纪录,这就导致调用玩ssh语句后,输入缓存中已经都被读完了,当read语句再读的时候当然也就读不到纪录,循环也就退出了。改进方法是,将ssh的输入重定向输入: while read line;...
由例子可见 while read line 是一次性将信息读入并赋值给line ,而for是每次读取一个以空格为分割符的字符串。 三 原因 while中使用重定向机制,IPS中的所有信息都被读入并重定向给了整个while 语句中的line 变量。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。问题就出在这里,$line中的最后...
在linux下一般用while read line与for循环按行读取文件。现有如下test.txt文件: 1. while read line while read line; do echo $line done < test.txt 1. 2. 3. 输出结果与上图一致。 这里也可以写为: cat test.txt | while read line; do ...
因为使用了管道的原因,改成下面这样就可以了 a=0 while read line do a=$(($a+1))echo "inter:"$a done < b.sh echo "outer:"$a
04.19_Java语言基础(循环结构while语句的格式和基本使用)是黑马Java_Java基础视频_刘意(风清扬)_深入浅出精华版-Java入门视频-Java入门_黑马Java_黑马的第103集视频,该合集共计865集,视频收藏或关注UP主,及时了解更多相关视频内容。
while read line do echo $line done<A <A写在最后相当于给整个while do 语句加了一个约束条件,读取文件A里每行至文件尾结束 while read line<A do echo $line done <A写在前面,整个while do语句就没有约束条件, 因为 read line<A这个始终为真 表示 不停地 读取A中的第一行,赋值给参数...
而"while read line"是Shell中的一个循环结构,用于按行读取文件内容或从标准输入中读取数据,并将每行数据赋值给变量line,然后执行循环中的命令。本文将一步一步回答关于"while read line"的用法。 一、基本语法和原理 在Shell中,"while read line"的基本语法如下: while read line do #执行命令 done <文件名...
while read line语法本质上是循环语句,它负责不断遍历输入文件的每一行,并且读取每一行的内容保存到指定的变量中。读取的基本形式是: while read line do commands done while read line法的用法很简单,首先while read line语句会从一个文本文件中按照行读取一行文本数据,然后按照设定的变量名称保存到变量里面。在whil...