shell腳本-if else 語句以及test命令

#!/bin/bash

text=jack

if ?grep $text /etc/passwd

then

? ? ? ? echo ok

else

? ? ? ? echo "not exist"

fi

先查找是否有這個用戶,查到,輸出OK,沒查到,輸出不存在.

注意,then的下一行的前面,不是空格,而是tab.其實這里空格也行幔摸。只是為了好看,用TAB甲馋。

這里可以看出,if里面,只能是命令,命令返回0,才會執(zhí)行then里面的內(nèi)容

然后真實中,通常if中的內(nèi)容,并不是一個命令!那要怎么處理呢,比如就是比較一個大小,就要用到test比較,以下是test比較常用寫法

#!/bin/bash

a=5

b=10

if [ $a -gt $b ]

then

? ? ? ? echo "$a greater than $b"

else

? ? ? ? ?echo "$a smaller than $b"

fi

可以看出if 后面變成一個[] 而且注意,括號里面,前后都是有空格的!必須有空格,不然為錯

這里的 -gt 表示大于 ,對應(yīng)的 -lt 表示小于

這種寫法,也是最最常用的if的寫法

再比如,一個常用的 -d 來判斷文件路徑是否存在

#!/bin/bash

mkdir=/usr/watson

if [ -d $mkdir ]

then

? ? ? ? echo "文件存在"

else

? ? ? ? echo "文件不存在"

fi

以下為常用判斷

文件比較

-d 檢查是否存在养泡,并且是一個目錄

-e 檢查file是否存在

-f 檢查是否存在嗜湃,并且是一個文件

-r 檢查是否存在,并且可讀

-w澜掩、-x

file1 -nt file2 file1比file2新

file1 -ot file2 file1比file2舊

[ -f "somefile" ] :判斷是否是一個文件

[ -x "/bin/ls" ] :判斷/bin/ls是否存在并有可執(zhí)行權(quán)限

[ -n "$var" ] :判斷$var變量是否有值,或者叫長度是否非0,類似java中的str判空

[ "$a" = "$b" ] :判斷$a和$b是否相等

-r file     用戶可讀為真

-w file     用戶可寫為真

-x file     用戶可執(zhí)行為真

-f file     文件為正規(guī)文件為真

-d file     文件為目錄為真

-c file     文件為字符特殊文件為真

-b file     文件為塊特殊文件為真

-s file     文件大小非0時為真

-t file     當(dāng)文件描述符(默認(rèn)為1)指定的設(shè)備為終端時為真

含條件選擇的shell腳本 對于不含變量的任務(wù)簡單shell腳本一般能勝任购披。但在執(zhí)行一些決策任務(wù)時,就需要包含if/then的條件判斷了肩榕。shell腳本編程支持此類運算刚陡,包括比較運算、判斷文件是否存在等株汉。

基本的if條件命令選項有: - eq —比較兩個參數(shù)是否相等(例如筐乳,if [ 2 –eq 5 ])

?-ne —比較兩個參數(shù)是否不相等

-lt —參數(shù)1是否小于參數(shù)2

-le —參數(shù)1是否小于等于參數(shù)2

-gt —參數(shù)1是否大于參數(shù)2

-ge —參數(shù)1是否大于等于參數(shù)2


還有一種,如果是比較復(fù)雜的數(shù)學(xué)表達(dá)式,可以用雙掛號形式

if(( a++ > 90 ))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市乔妈,隨后出現(xiàn)的幾起案子蝙云,更是在濱河造成了極大的恐慌,老刑警劉巖路召,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贮懈,死亡現(xiàn)場離奇詭異,居然都是意外死亡优训,警方通過查閱死者的電腦和手機(jī)朵你,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揣非,“玉大人抡医,你說我怎么就攤上這事。” “怎么了忌傻?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵大脉,是天一觀的道長。 經(jīng)常有香客問我水孩,道長镰矿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任俘种,我火速辦了婚禮秤标,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宙刘。我一直安慰自己苍姜,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布悬包。 她就那樣靜靜地躺著衙猪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪布近。 梳的紋絲不亂的頭發(fā)上垫释,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機(jī)與錄音撑瞧,去河邊找鬼棵譬。 笑死,一個胖子當(dāng)著我的面吹牛季蚂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播琅束,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼扭屁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了涩禀?” 一聲冷哼從身側(cè)響起料滥,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎艾船,沒想到半個月后葵腹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡屿岂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年践宴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爷怀。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡阻肩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出运授,到底是詐尸還是另有隱情烤惊,我是刑警寧澤乔煞,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站柒室,受9級特大地震影響渡贾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜雄右,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一空骚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧不脯,春花似錦府怯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至复局,卻和暖如春冲簿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亿昏。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工峦剔, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人角钩。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓吝沫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親递礼。 傳聞我的和親對象是個殘疾皇子惨险,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容