shell的迴圈主要有3種,for,while,until
shell的分支判斷主要有2種,if,case
一,for迴圈
#!/bin/bashforfile
in $(ls /tmp/test/mytest |grep
sh) //
for in格式是shell for的基本格式,根js的for in類似
do//
迴圈開始你就把它當成
for ((i=0;i<10;i++)) //
注意是雙小括號,由於受其他語言的影響,很容易搞錯
doecho -n $i
done
echo \ //
輸出換行
for i in01
2345
6789
doecho -n $i
done
echo
\
for i in
"0 1 2 3 4 5 6 7 8 9"//
這個根上面是有區別的,這個迴圈只迴圈了一次,雙引號裡面只是乙個變數
doecho -n $i
done
exit
0
二,while迴圈#!/bin/bash
i=0while ((i<10
))
doecho
$i
((i += 1
))
done
i=0while [ $i -lt 10 ] //
注意括號內側二邊的空格
doecho
$i
let
"i+=1"//
加1
done
exit
0
三,until迴圈#!/bin/bash
end_condition=end
until [ "
$var1
" = "
$end_condition
" ] //
讀取的變數根設定的變數相等時退出迴圈,不然永遠迴圈
doecho
"input variable #1
"echo
"($end_condition to exit)
"read var1
echo
"variable #1 = $var1
"echo
done
exit
0
四,if語句#!/bin/bash
echo
"input a number #1
"read num
echo
"variable #1 = $num
"if [ $num -lt 60 ] //
注意lt前面的-,很容易忘的
then
echo
"you are not pass
"elif [ $num -lt 70 ] && [ $num -ge 60 ] //
多個條件的判斷
then
echo
"pass
"elif [[ $num -lt 85 && $num -ge 70 ]] //
如果放在一起,要注意是雙方括號,不要寫成[ $num -lt 85 && $num -ge 70 ]
then
echo
"good
"elif (( $num <= 100 )) && (( $num >= 85 )) //
對於有語言基礎的人來說,這種寫法讓人覺得很舒服,不要忘了是雙小括號
then
echo
"very good
"else
echo
"num is wrong"fi
//if要有結束標籤的,根xml很像,不閉合,就報錯
exit
0
五,case語句檢視複製列印?#!/bin/sh
case $1
instart)
echo
"start ok
";;
//注意一點,要注意是雙分號
stop)
echo
"stop ok
";;
restart)
echo
"restart ok
";;
*)
echo
"no param
";;
esac
//注意閉合標籤
exit 0
[root@krlcgcms01 forif]# sh c1.sh stop
stop ok
shell 死迴圈if判斷 shell 死迴圈
例1 執行指令碼後會自動載入firefox瀏覽器,並開啟指定網頁。如果使用者關閉firefox,指令碼會再次自動重新開啟firefox。如需結束迴圈,中止t2.sh程序即可。注意不要同時執行兩個t1.sh指令碼,否則 若事先不知道指令碼名,也可以通過類似於 pstree grep firefox 的...
必須了解的Shell迴圈語句介紹與例項
2 while語句的結構 3 until語句的結構 for 變數名 in 取值列表 do 命令序列 done 使用for迴圈語句時,需要指定乙個變數及可能的取值列表,針對每個不同的取值重複執行相同的命令列,直到 變數值用完退出迴圈。取值列表 稱為for 語句的執行條件,其中包括多個屬性相同的物件,需...
shell(顯示 條件判斷 迴圈)
目錄 shell 顯示 echo printf 條件判斷 if case 迴圈 forwhile bin bash 顯示轉義字元 echo it s a test 顯示變數 read 從標準輸入中讀取一行,相當於scanf read name echo name is name 顯示換行 echo ...