BASH for 循環小結

【小蝸牛無聊之作
 
我經常需要用到for循環,自己小結一下它的用法:
 
方法1:
    for 變量 in 常量列表; do 一些命令; done;
   
    (注意:我這裏用“常量列表”來表述不一定準確,希望大家理解即可,
     我實在想不出更好的表述了,請大家指教!)   
   
如:for file in `ls`; do echo $file; done;
    for i in 1 2 3 4 5; do echo $i; done;
   
   
方法2:
    for (( 變量初始化; 條件判斷; 變量自變 )); do 一些命令; done;
   
如:for (( i = 0; i < 10; i++)); do echo $i; done;
    這裏就像使用C語言那樣哦~不過是用兩個括號而已。
   
這裏舉一個有趣的例子:
 
#!/bin/bash
# test.sh
 
MAX=10
 
for (( i = 0; i < MAX ; i ++ ))
do
    echo $i
done
 
有趣的是,這裏的 MAX 前面沒有 '$',當然,你使用 $MAX 也是可以的。
難道 bash 就那麼寬容嗎?聽說,類似C的這種語法,只有bash獨有哦~

順便提一下,在bash中使用expr進行簡單的數學計算,如下:
 
MAX=10
 
for (( i = 0; i < MAX ; i ++ ))
do
    echo `expr $i \* $i`
   
    # 或者這樣
    #  echo $[$i * $i]
done
 
注意,這裏需要用 ` ` 括號(一時想不起它叫啥名字)起來表示 expr 是一個命令,前面的 `ls` 也就是取 ls 命令的輸出結果。還有,這裏的'*'要用'\'來轉義,使用 '+' '-' 等算術符則不需要轉移。使用上面註釋掉的第二種方法就不需要轉義。
 
------------------------------------------------------------------------------------------
趙小蝸牛
QQ: 755721501
在不斷奉獻中謀求生存發展、打造自己的優秀品質,用人性最本質最動人的一面“營銷”自己!
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章