shell之測試與條件判斷

測試與判斷:
退出與退出狀態(tài)
測試命令test
使用if-then語句
使用if-then-else語句
嵌套if的使用

退出程序命令

  • exit
  • exit 10 :返回10給shell,返回值非0 位 不正常退出
  • $? 判斷當前shell前一個進程是否正常退出

測試命令test

test命令用于檢查文件或者比較值
test可以以下測試:man test進行測試绑莺。

  • 文件測試 :test -f /etc/passwd echo $? ——>返回的內容:返回0仰冠,0=True
  • 整數(shù)比較測試
  • 字符串測試
    test測試語句可以簡化為[]符號
    []符號還有擴展寫法[[ ]] 支持&& 、||、<、>。

if 判斷的使用

使用if-then語句的基本用法

if [ 測試條件成立 ] 或 命令返回值是否為0
then 執(zhí)行相應命令
fi 結束

實際例子:
if [ $UID = 0 ] ; 
then
    echo "please run"
fi

使用if-then-else 語句
if-then-else語句可以在條件不成立時也運行相應的命令:

if-then-else語句可以在條件不成立時也運行相應的命令:

if [ 測試條件成立 ]
then 執(zhí)行相應命令
else 測試條件不成立棒厘,執(zhí)行相應命令
fi 結束

實際例子:
if [ $UID = 0 ] ; then
    echo "please run"
else 
    echo "stop run...."
fi

使用if-then-else語句可以在條件不成立時運行相應的命令

if-then-else語句可以在條件不成立時也運行相應的命令:

if [ 測試條件成立 ]
then 執(zhí)行相應命令
elif [ 測試條件成立 ]
then 執(zhí)行相應命令
else 測試條件不成立,執(zhí)行相應命令
fi 結束

實際例子:
if [ $USER = root ] ; then
    echo "user is root.."
elif [ $USER = user1 ] ;then
    echo "user is user1.."
else 
    echo "other user...."
fi

if條件測試中可以再嵌套if條件測試

if [ 測試條件成立 ]
then 執(zhí)行相應命令
    if [ 測試條件成立 ]
    then 執(zhí)行相應命令
    fi 
fi 結束

實際例子:
if [ $UID = 0 ] ; then
    echo "please run"
    if [ -x /tmp/10.sh ] ; then 
        /tmp/10.sh
    fi
else 
    echo " switch user root"
fi

分支

case語句 和select 語句可以構成分支

case "$變量" in
      "情況1")
          命令..;;
      "情況2")
          命令..;;
      *  )
          命令..;;
esac

實際例子:
case "$1" in
        "start1"|"STRAT")
        echo $0 start.... 
        ;;
        "stop"|"STOP")
        echo $0 stop.... 
        ;;
        "restart"|"reload")
        echo $0 restart.... 
        ;;
        *)
        echo $0 other.... 
        ;;
esac
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末下隧,一起剝皮案震驚了整個濱河市奢人,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌淆院,老刑警劉巖何乎,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡支救,警方通過查閱死者的電腦和手機抢野,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來各墨,“玉大人指孤,你說我怎么就攤上這事”岫拢” “怎么了恃轩?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長黎做。 經(jīng)常有香客問我琼娘,道長旁赊,這世上最難降的妖魔是什么震放? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任恬总,我火速辦了婚禮,結果婚禮上伟桅,老公的妹妹穿的比我還像新娘敞掘。我一直安慰自己叽掘,他們只是感情好楣铁,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著更扁,像睡著了一般盖腕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浓镜,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天溃列,我揣著相機與錄音,去河邊找鬼膛薛。 笑死听隐,一個胖子當著我的面吹牛,可吹牛的內容都是我干的哄啄。 我是一名探鬼主播雅任,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咨跌!你這毒婦竟也來了沪么?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤锌半,失蹤者是張志新(化名)和其女友劉穎禽车,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡殉摔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年州胳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逸月。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡陋葡,死狀恐怖,靈堂內的尸體忽然破棺而出彻采,到底是詐尸還是另有隱情腐缤,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布肛响,位于F島的核電站岭粤,受9級特大地震影響,放射性物質發(fā)生泄漏特笋。R本人自食惡果不足惜剃浇,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望猎物。 院中可真熱鬧虎囚,春花似錦、人聲如沸蔫磨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽堤如。三九已至蒲列,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搀罢,已是汗流浹背蝗岖。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留榔至,地道東北人抵赢。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像唧取,于是被迫代替她去往敵國和親铅鲤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內容