***********************************==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程式設計 迴圈結構
1 for迴圈語句 for variable in dostatement1 statament2 done 使用省略號的寫法來表示某個範圍 設定步長 for variable in dostatement1 let sum i done 使用字串作為列表元素,可以省略外面的大括號 for i in...
shell程式設計之迴圈結構
與c語言類似,shell指令碼語言同樣有迴圈語句 1.for語句 2.while語句。下面講解一下這兩個迴圈結構的表達並舉例說明。1.for語句 基本語法 for var in 單次表 do命令列 done 同樣也有一種和c語言相類似的形式 for i 0 i 10 i do命令列 done 例子 ...
shell程式設計 for迴圈
列表迴圈 1.已知次數 語法 用花括號定義迴圈次數 for variable in do command command done for variable in a b c do command command done 案例 輸出1到5 for i in doecho idone 列印1到50的...