shell中经常会遇到循环,总结一下常用的循环以及当循环的参数是变量的用法。
1 for循环用法
循环的变量已知且不多时,可以这样
for i in 1 2 3 4 5
如果是文件或者文件内容
#ls
for file in `ls *.sh`
do
name=`echo "$file" | awk -F. '{print $1}'`
echo $name
done
#cat
for file in `cat file.sh`
do
echo "$file"
done
当参数是连续的时候
for i in {1..10}
do
echo $i
done
如果10是变量,该怎么办?
用seq
num=10
for i in `seq $num`
do
echo $i
done
更自由的双括号写法
for((i=1;i<100;i++))
do
echo $i
done
2 while 循环用法
常规用法
min=1
max=100
while [ $min -le $max ]
do
echo $min
min=`expr $min + 1`
done
read line
cat file.txt |while read line
do
echo $line
done