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,如需转载请自行联系原作者