for、while的特殊用法
阿新 • • 發佈:2017-07-18
for while 特殊用法
1. while循環的特殊用法(遍歷文件的每一行):
while read line; do
循環體
done < /path/from/somefile
依次讀取/path/from/somefile文件中的每一行,且將行賦值給變量line
示例:
找出ID號為偶數的所有用戶,並顯示其用戶名及ID號
#!/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以內所有正整數之和;
#!/bin/bash declare sum=0 for ((i=0;i<=100;i++)); do let sum+=$i done echo $sum
示例:
利用for循環特殊用法打印九九乘法表:
#!/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
for、while的特殊用法