bash shell中主要提供了三種迴圈方式:for、while和until。
語法結構:
for var in item1 item2 ... itemn
do command1
command2
...commandn
done
變形:for var in item1 item2 ... itemn; do command1; command2… done;
for (( ; ; ))
do...
done
for迴圈的執行flow:是將行1 中的各序列的itemx依次取出,放入指定的變數var中,然後重複do和done之間的commandx,直到所有元素取盡為止。
example:
#!/bin/bash
# description : 列出/var 目錄下的所有子目錄的size
dir="/var"
cd $dir
for i in $(ls $dir)
do [ -d $i ] && du -sh $i
done
語法結構:
while condition
do command
done
無限迴圈變形:
while :
do command
done
或while true
do command
done
while迴圈的執行flow:首先進行條件測試,如果condition為真,則進入迴圈執行command,否則不進入迴圈。
example:
example1 :
#!/bin/bash
#description:將i從1到5列印
int=1
while(( $int<=5 ))
do echo $int
# bash let 命令,執行「表示式」,引用變數時不需要加上$
let "int++"
done
example2 :
#!/bin/bash
#description: 列印test_file 檔案
while read line
do echo $
done < /tmp/test_file
語法結構:
until condition
do command
done
until 迴圈的執行flow : 首先進行條件測試,如果condition為假,則進入迴圈執行command,直到condition為真退出迴圈。
example:
#!/bin/bash
#description: 將i從0到9列印
a=0until [ ! $a -lt 10 ]
do echo $a
a=`expr $a + 1`
done
Shell語法 迴圈 檔案讀寫
for 變數 in 字串 do 語句1 done介紹完for語法格式後,先看一下linux自帶的乙個類似for迴圈的命令 seq 1 15輸出1一直到15 123 45678 9101112 1314 15 bin bash for i in seq 1 15 do echo 數字 i done輸出...
Shell基礎 day5 迴圈語法
1,for迴圈 for 變數名 in 取值列表 do 迴圈體 donefor迴圈預設是按照空格分隔變數值的,注意for迴圈的迴圈次數是固定的。for val in a b c do echo val done注意上面的指令碼會輸出a b c 下面的例子實現的是for建立多個使用者,需要建立乙個檔案,...
shell 死迴圈if判斷 shell 死迴圈
例1 執行指令碼後會自動載入firefox瀏覽器,並開啟指定網頁。如果使用者關閉firefox,指令碼會再次自動重新開啟firefox。如需結束迴圈,中止t2.sh程序即可。注意不要同時執行兩個t1.sh指令碼,否則 若事先不知道指令碼名,也可以通過類似於 pstree grep firefox 的...