1. 程式人生 > >for、while的特殊用法

for、while的特殊用法

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的特殊用法