1、for循环读取
#!/bin/bash
for line in `cat ./a.txt`
do
echo "this is $line"
sleep 1
done
【注】for循环,默认按照空格区分,不是按照换行符,如果一行中出现空格,需要将IFS的值,设置成换行符,如下:
#!/bin/bash
$bak = IFS#临时变量存储IFS的值
IFS=$'\n'
for line in $(cat ./file.txt)
do
echo "this is $line"
sleep 1
done
IFS = $bak#IFS改回原来的值
2、while循环读取
#!/bin/bash
while read line
do
echo $line
sleep 1
done<a.txt
另一种方式:
#!/bin/bash
cat file.txt|
while read line
do
echo $line
sleep 1
done
3、读取每行,并执行命令
1)命令并行执行
#!/bin/bash
while read line
do
echo $line &
done < file.txt
并行执行命令
在需要执行的命令之间用“&”连接,意为不同命令的并行执行。
附:“&&”意为,前面的执行成功后,执行后面的命令,
"||"意为,前面的执行失败,后面的命令才会执行。