在很多场景下,for循环并不是很适合,while循环更适合;以下是遍历每一行密码文件,然后按行处理;
#!/bin/bash
cat /etc/passwd | while read line;
do
echo $line
done
以下的效果跟上面的效果是一样的;
#!/bin/bash
while read line
do
echo $line
done < /etc/passwd
处理命令执行的结果,按行处理,记住done后面的两个<符号,中间有一个空格;
#!/bin/bash
while read line;
do
echo $line
done < <(echo -e "第一行\n第二行\n第三行")