1. 條件測試命令: test or [
邏輯判斷跟普通的相反,當條件為真時,返回0,否則返回1.
number=2
test $number -gt 1
echo $?
0
[ $number -gt 3 ]
echo $?
1
note: [ ] 是個命令,括號中間是參數,命令和參數之間要有空格。
常見的測試命令:
[ -d dir ]
[-f file ]
[-z string ] String 長度為0時為真
[ -n string ] String 長度非0時為真
[arg1 op arg2 ] op: -eq, -ne, -lt, -gt, -ge, -le
[ expr1 -a|-o expr2 ] -a=&& -o=||
2. if/then
if [ -d tmp ] ; then
echo "tmp is a directory"
fi
這里有三條命令, if [-d tmp ] 是第一條,then是的而條,fi是第三條。兩條命令在一行上,必須用;隔開。如果then令起一行,則不用分號。
3. && ||
shell中的&&相當于 if..then.., ||則相當于if not ... then...,
上面的if/then語句也可寫成 [ -d tmp ] && echo "tmp is a directory"
4. case
shell的case不僅能匹配整形和字符型,還能匹配字符串和wildcard, 每條分支必須以;;結束, 不需要break語句跳出。
echo "input your choice:"
read choice
case $choice in
Yes|yes|y)
echo "you choose Yes";;
[N|n]*)
echo "you choose No";;
esac
posted on 2011-02-22 09:06
Aaron.Chu 閱讀(1294)
評論(0) 編輯 收藏