1、條件測驗:
test命令:測驗運算式是否成立,回傳0則成立,否則回傳其他數值,
[root@localhost ~]# test -f test.sh
[root@localhost ~]# echo $?
0
成立;
常用的測驗運算子:
-d:測驗是否為目錄;
-e:測驗目錄或者檔案是否存在;
-f:測驗是否為檔案;
-r:測驗當前用戶是否有讀的權限;
-w:測驗當前用戶是否有寫的權限;
-x:測驗當前用戶是否有執行的權限;
檔案測驗:
[root@localhost ~]# [ -f test.sh ]
[root@localhost ~]# echo $?
0 回傳0表示成立,test.sh存在;
[root@localhost ~]# [ -f test.sh ] && echo yes
yes test.sh存在,條件成立列印yes
整數比較:
常用的測驗運算子:
-eq:等于;
-ne:不等于;
-gt:大于;
-lt:小于;
-le:小于等于;
-ge:大于等于;
字串比較:
[test = test]
[teste != test]
邏輯操作:
-a或&&:表示且的意思;
-o或||:表示或的意思;
!:表示否的意思
[root@localhost ~]# [ -f test.sh ] && [ -f zuoye.sh ] && echo yes
yes
||運算子能夠在[ [ ] ]中正常操作,在[ ]的結構中會報錯;
條件判斷陳述句if case和多分支結構:
if陳述句
語法一:
if [ ];then 判斷陳述句 fi
語法二:
if [ ];then 判斷陳述句 else fi
實驗:
提示輸入百米賽跑的秒數,要求判斷秒數大于0且小于等于10秒的進入選拔賽,大于10秒的都淘汰,如果輸入其他字符則提示重新輸入;并判斷男女的性別,男生進男生組,女生進女生組,如果輸錯提示錯誤:
read -p “請輸入您的百米賽跑秒數:” sec
if [ $sec -le 10 ] && [ $sec -ge 0 ]
then
read -p “請輸入您的性別:” sex
if [
s
e
x
=
"
男
"
]
t
h
e
n
e
c
h
o
"
您
已
進
入
男
子
組
選
拔
賽
!
"
sex = "男" ] then echo "您已進入男子組選拔賽!"
sex="男"]thenecho"您已進入男子組選拔賽!"sex
else
echo “您已進入女子組選拔賽!”
fi
else
echo “您已被淘汰!”
fi
case陳述句:用CASE陳述句解壓根據后綴名為.tat.gz 或者 .tar.bz2的壓縮包到/opt目錄
case $1 in
*.tar.gz)
tar -zxvf *.tar.gz -C /opt
;;
*.tar.bz2)
tar -jxvf *.tar.bz2 -C /opt
;;
*)
echo “您的輸入有誤!”
esac
判斷整數和奇偶數:
#!/bin/bash
read -p “請輸入一個數字:” value
#expr $ value+$ value > /dev/null
a=$ [ $ value+$ value]
b= $ [$value%2]
if [ $? = 0 ]
then
echo “您輸入的是一個整數”
if [ $b = 0 ]
then
echo “這是一個偶數”
else
echo “這是一個奇數”
fi
else
echo “您輸入的不是一個整數”
fi
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/237165.html
標籤:其他
上一篇:RTSP拉流協議視頻智能分析平臺EasyNVR在Chrome瀏覽器播放視頻windows記憶體占用過高如何解決?
