for
- 循环读一个文件的每一行
for i in `cat temp.list`;do echo $i;done
for ip in $(cat ip.list);do ping -c 2 $ip;done - 循环打印数字
for a in {1…5};do echo $a;done
for a in {1…5…2};do echo $a;done #等差
for a in $(seq 1 5);do echo $a;done
for a in $(seq 1 2 5);do echo $a;done
- 循环遍历
for ip in 192.168.66.{10,20,21,100};do ping -c 2 $ip;done
for ip in 192.168.66.{20…21} 192.168.66.{10,100};do ping -c 2 $ip;done - 每次读取文件中一个以空格为分隔符的字符串,默认是换行符号
IFS_old=$IFS
IFS=$'\n'
#在接下来的代码中使用新的IFS
for i in `cat emp.list`
do
echo $i
done
#使用完毕后恢复IFS原来的值
IFS=$IFS_old
while
while read line 是一次性将一行的文件信息读入并赋值给变量line。当文件中有多行文字,在while循环中再一次调用read语句,就会读取到下一条记录。而$line中的最后一行读完,无法获取下一行记录,从而退出while循环。
while read line
do
echo $line
done < test.txt