標籤:style blog color 使用 for strong 檔案 sp div
與其他程式設計語言類似,Shell支援for迴圈。
for迴圈一般格式為:
for 變數 in 列表do command1 command2 ... commandNdone
列表是一組值(數字、字串等)組成的序列,每個值通過空格分隔。每迴圈一次,就將列表中的下一個值賦給變數。
in 列表是可選的,如果不用它,for 迴圈使用命令列的位置參數。
例如,順序輸出當前列表中的數字:
#!/bin/bashfor loop in 1 2 3 4 5do echo "The value is:$loop"done
運行結果:
The value is:1The value is:2The value is:3The value is:4The value is:5
#!/bin/bashnum=1for str in ‘This is a string‘ ‘test‘do echo $num num=$[$num+1] echo $strdonenum=1for str in ‘This is a string‘do echo $num num=$[$num+1] echo $strdone
運行結果:
1This is a string2test1This is a string
顯示主目錄下以 .bash 開頭的檔案:
#!/bin/bashfor FILE in $HOME/.bash*do echo $FILEdonefor FILE in $HOME/.bash* ; do echo $FILEdone
運行結果:
/root/.bash_history/root/.bash_logout/root/.bash_profile/root/.bashrc
普通的for迴圈
#!/bin/bashecho `expr 4 \* 4`for ((i=1; i <= 10; i++))do echo $(expr $i \* 4)done~
方法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
#!/bin/bashMAX=10for ((i=0; i < MAX; i++))do echo $idonefor ((i=0; i < $MAX; i++))do echo $idone
#/bin/bashMAX=10for ((i=0; i < MAX; i++))do echo $(expr $i \* $i) echo $[$i * $i]done
Shell for迴圈