***********************************==while語句****************************************
while語句格式
while 表示式
do
command
command
done
while 和 if 的條件表示式完全相同,也是[ ] 或commad或test
while 表示式
if 表示式
表示式值為0,則迴圈繼續
表示式值為0,then
表示式值為非0,則迴圈停止
表示式值為非0,else
最基本的i++ 條件型迴圈
i=1while [ $i -lt 10 ]
dosed -n "$p" 111.txt
i=$(($i+1)) 必須雙層括號
done
命令型while 迴圈
while command 命令返回值0(成功執行),迴圈繼續
pause函式,輸入任何值繼續,輸入q退出程式
pause()
{while echo "press to proceed or type q to quit:"
doread cmd
case $cmd in
[qq]) exit 1;; exit直接退到底,退出shell script
"") break;; break跳出迴圈
*) continue;; continue跳到迴圈底,重新開始新迴圈迴圈
esac
done
while echo … 此命令沒有失敗的可能,所以必須有break,return,exit之類的指令
while 關鍵字
break———— 用來跳出迴圈
continue—— 用來不執行餘下的部分,直接跳到下乙個迴圈
****************************************===for語句***********************************
for語句格式
for 表示式
do
command
command
done
i++,n=n+1 必須用雙層括號 $(($num+1)) ,單層括號$($num+1)不管用
[root@mac-home home]# vi test.sh
:echo "input num:"
read num
echo "input is $num"
num=$($num+1)
echo "new num is $num"
[root@mac-home home]# sh test.sh
input num:
3input is 3
test.sh: line 6: 3+1: command not found
new num is
[root@mac-home home]# vi test.sh
:echo "input num:"
read num
echo "input is $num"
num=$(($num+1))
echo "new num is $num"
[root@mac-home home]# sh test.sh
input num:
3input is 3
new num is 4
(( ))與[ ]作用完全相同
echo input:
read i
i=$(($i+1))
echo $i
echo input:
read i
i=$[$i+1]
echo $i
[macg@localhost ~]$ sh ttt.sh
input:67
[macg@localhost ~]$ sh ttt.sh
input:67
再證明(( ))與[ ]完全相同--------if (( ))
if (( $# != 3 )); then
echo "usage: $0 host user passwd"
exit 1
fiif [ $# != 3 ]; then
echo "usage: $0 host user passwd"
exit 1
fi[macg@localhost ~]$ sh ttt.sh 1 2
usage: ttt.sh host user passwd
[macg@localhost ~]$ sh ttt.sh 1 2
usage: ttt.sh host user passwd
$foo=$(($foo+1)) # 執行的時候這個地方報錯
給變數賦值,左邊的變數不需要加 $ 符號,
foo=$(($foo+1))
賦值=,read,export都不需要加變數$
shell程式設計 迴圈語句
while語句 while語句格式 while 表示式 do command command done while 和 if 的條件表示式完全相同,也是 或commad或test while 表示式 if 表示式 表示式值為0,則迴圈繼續 表示式值為0,then 表示式值為非0,則迴圈停止 表示式值...
Shell 程式設計迴圈語句
我們可以用 for 結構的迴圈來處理一組值,這組值可以是任意字串的集合。for variable in values do statement donefor foo in aa bb cc do echo foo done exit 0輸出結果是 aabb ccfor 迴圈特別適合對一系列字串進行...
shell程式設計 迴圈語句
for迴圈語句有兩種格式,分別如下 for var in list do commands donelist代表要迴圈的值,在每次迴圈的時候,會把當前的值賦值給var 變數名而已,隨意定 這樣在迴圈體中就可以直接通過 var獲取當前值了。list裡面的值預設以空格分割,可以通過環境變數ifs控制 例...