-測試乙個條件是否成立,
python@ubuntu
:~/1004
$ var=2
python@ubuntu
:~/1004
$ test $var
python@ubuntu
:~/1004
$ echo $?
0python@ubuntu
:~/1004
$ test $var -gt 5
python@ubuntu
:~/1004
$ echo $?
1
或者:
(注意: 兩邊加空格)
python@ubuntu
:~/1004
$ [ $var -gt 1 ]
python@ubuntu
:~/1004
$ echo $?
0
語法錯誤:
python@ubuntu
:~/1004
$ [ $s1 = $s4 ]
bash: [: hello: 需要一元表示式
需要加"" : [ "$s1" = "$s4" ]
if/then/elif/else/fi
實現分支控制
#! /bin/sh
if [ -d ~/desktop ]; then
echo
"desktop is dir"
echo
"dimples"
fi
source t2.sh
#! /bin/sh
echo
"it is morniing? yes or no"
read yes_or_no
if [ "$yes_or_no" = "yes" ]; then
echo
"早上好"
elif [ "$yes_or_no" = "no" ]; then
echo
"中午好"
else
echo
"sorry"
exit 1
fiexit 0
python@ubuntu
:~/1004
$ vi t3.sh
python@ubuntu
:~/1004
$ chmod a+x t3.sh
python@ubuntu
:~/1004
$ ./t3.sh
it is morniing? yes or no
yes早上好
case/esac#! /bin/sh
echo "is it morning"
read yes_or_no
case "$yes_or_no"
inyes|y|yes|yes)
echo "早上好";;
[nn]*)
echo "中午好";;
*) echo "sorry"
exit
1;;esac
exit
0
python@ubuntu
:~/1004
$ chmod a+x t4.sh
python@ubuntu
:~/1004
$ ./t4.sh
case語句的例子可以在系統服務的指令碼目錄 /etc/init.d中找到。這個目錄下都是啟動指令碼程式。
for/do/done
#! /bin/sh
echo
"i like $fruit"
done
python@ubuntu
:~/1004
$ source t5.sh
i like pear
i like banana
while/do/done#! /bin/sh
echo
"輸入密碼:"
read pwd
while [ "$pwd" != "111111" ]; do
echo
"sorry, try again"
read pwd
done
python@ubuntu
:~/1004
$ source t6.sh
輸入密碼:
1sorry, try again
2sorry, try again
111111
通過算數運算控制迴圈的次數:
#! /bin/sh
echo
"請輸入密碼"
read pwd
counter=1
while [ "$counter" -lt 6 ]; do
if [ "$pwd" != "123" ]; then
#break
if [ "$counter" -eq 5 ]; then
echo
"輸入錯誤,沒有機會啦"
else
echo = "輸入錯誤,再來一次"
read pwd
fielse
echo
"輸入成功"
break
fi counter=$(($counter+1))
done
Shell指令碼語法
定義單變數 p name kang 使用單變數 echo p name js 輸出kang.js echo p name.js 輸出kang.js cp p name.js copy.js 命令1 命令2 如果左邊的 命令1 執行成功,那麼右邊的 命令2 才會被執行。命令1 命令2 與 相反。如果 ...
shell指令碼 語法
條件測試 test 命令test 可以測試乙個條件是否成立,如果測試條件為真,則該命令的exitstatus為0,反之,exitstatus為1。注意 命令 各引數之間應該用空格隔開,以 結尾。但是 不是命令。測試命令 d dir 如果dir存在並且是乙個目錄則為真 f file 如果file存在並...
shell指令碼語法
一 數值運算 1 expr數值運算工具 root localhost aa 11 root localhost bb 22 給變數aa和變數bb賦值 root localhost dd expr aa bb dd的值是aa和bb的和。注意 號左右兩 側必須有空格 2 表示式求值 expr1 3 ex...