1. while循环的特殊用法(遍历文件的每一行):
while read line; do
循环体
done < /path/from/somefile
依次读取/path/from/somefile文件中的每一行,且将行赋值给变量line
示例:
找出ID号为偶数的所有用户,并显示其用户名及ID号
1
2
3
4
5
6
7
8
9
|
#!/bin/bash # while read line; do
if [ $(($( echo $line | awk -F: '{print $3}' ) % 2)) - eq 0 ]; then
echo -e -n "username : $(echo $line | awk -F: '{print $1}')\t"
echo "userid : $(echo $line | awk -F: '{print $3}')"
fi
done < /etc/passwd
|
2. for循环的特殊用法:
for ((控制变量初始化;条件判断表达式;控制变量修正表达式));
do
循环体
done
控制变量初始化: 仅在运行到循环代码从段时执行一次;
控制变量的修正表达式: 每轮循环结束会先进行控制变量修正运算,而后在做条件判断;
示例:
计算100以内所有正整数之和;
1
2
3
4
5
6
7
8
9
|
#!/bin/bash declare sum =0
for ((i=0;i<=100;i++)); do
let sum +=$i
done echo $ sum
|
示例:
利用for循环特殊用法打印九九乘法表:
1
2
3
4
5
6
7
8
|
#!/bin/bash for ((a=1;a<=9;a++)); do
for ((b=1;b<=a;b++)); do
echo -n -e "$a*$b=$[$a*$b]\t"
done
echo
done |
本文转自limingyu0312 51CTO博客,原文链接:http://blog.51cto.com/limingyu/1948672,如需转载请自行联系原作者