linux基礎(chǔ)知識(shí)----Just for Tencent(shell_結(jié)構(gòu)化命令)

1. if-then 語(yǔ)句

基本格式:

if command ? //若command命令執(zhí)行完畢之后的狀態(tài)碼返回值為0最盅,則執(zhí)行then中的命令尊搬,否則 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 不執(zhí)行then中的命令

then ?

? ? ? ? ? commands

fi

if command;then ? ? ? ? ?//另一種格式

? ? commands

fi

else 格式

if ?command;then ? ? //如果command中命令返回的退出狀態(tài)碼為0凡蚜,則執(zhí)行then

? ? ? commands

else?

? ? ? commands? ? //如果command中命令返回的退出狀態(tài)碼為非0,則執(zhí)行else

fi

elif 格式

if command;then

? ?commands

elif ?command;then

? ? ? commands

elif ?command;then

? ? ? ? commands

else

? ? commands

fi

2. test命令

if ?test condition;then ? ? ?//如果condition條件不寫(xiě)聂使,則以非零狀態(tài)碼退出,執(zhí)行else中的 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?commands

? ? ? ? ?commands

else

? ? ? ? ? ? commands

fi?

(1) my_variable="full";? test? $my_variable? //若變量my_variable為空,則退出碼為非0,若有內(nèi)容坯辩,則為0

方括號(hào)的表達(dá)形式

if ?[ condition ] ? ?//使用方括號(hào)來(lái)代替test,但是在方括號(hào)的兩邊必須具有空格

then

? ? ?commands

fi

通常test可以測(cè)試三類(lèi)條件

(1)數(shù)值比較

n1 ?-eq n2 ? ? ?//是否相等,相等崩侠,則退出碼為0

n1 ?-ge ? n2 ? ? //是否大于或等于

n1 ?-gt ? ?n2 ? ?//是否大于

n1 ? -le ? ?n2 ? ?//是否小于等于

n1 ? -lt ? ?n2 ? //是否小于

n1 ? ?-ne ? n2 ? //不等于

其中n1 和 ?n2 可以使用變量漆魔,例如有變量var ?,可以 ?$var ? -ne ? n2 ?這樣使用却音,這種比較不能使用在浮點(diǎn)數(shù)中

(2)字符串比較

? ? ? ? ? str1 = str2 ? ?//比較是否相等改抡,通過(guò)ASCII表來(lái)比較,因此會(huì)比較標(biāo)點(diǎn)系瓢,大小寫(xiě)等

? ? ? ? ? str1 != str2 ? //比較是否不相等 ?等號(hào)兩邊留空格阿纤,也可以使用變量的方式

? ? ? ? ? str1 \> str2 ? //比較大于,大于號(hào)需要轉(zhuǎn)義夷陋,避免被shell當(dāng)成重定向符

? ? ? ? ? str1 \< str2 //比較小于欠拾,小于號(hào)需要轉(zhuǎn)移,避免被shell當(dāng)成重定向符

? ? ? ? ? ? -n ?str1 ? ?//測(cè)試str1的長(zhǎng)度是否為非0

? ? ? ? ? ?-z ?str1 ? ?//測(cè)試長(zhǎng)度是否為0

? ?if [ -z ?$var ?] ? ? ? ? ? ? ? ? ? ?//在這里骗绕,若var未被定義藐窄,這里也是可以執(zhí)行的,只是var的長(zhǎng)度為0酬土, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?故-z ?$var的退出碼為0

(3)文件比較

-d ?file ? ? ? ? ? ? ?//檢查file是否存在且是一個(gè)目錄

-e file ? ? ? ? ? ?//檢查file 是否存在

-f ?file ? ? ? ? ? ? //檢查file是否是一個(gè)文件

-r ?file ? ? ? ? ? ? ?//檢查file ?是否存在并可讀

-s ?file ? ? ? ? ? ? //檢查file是否存在并非空

-w ?file ? ? ? ? ? //檢查file 是否存在并可寫(xiě)

-x ? ?file ? ? ? //檢查file是否存在并可執(zhí)行

-O ? file ? ? ? ? ?//檢查file是否存在并屬于當(dāng)前用戶(hù)

-G ?file ? ? ? ? ? ?//檢查file是否存在并且默認(rèn)組與當(dāng)前用戶(hù)相同

file1 ?-nt ? ?file2 ?檢查file1是否比f(wàn)ile2新

file1 ? -ot ? file2 ?檢查file1是否比 fil2舊

3.復(fù)合條件測(cè)試

[ condition1 ] ?&& [ condition2 ]

[ condition1 ] ? || ? ?[ condition2 ] ? ??

4.if-then 的高級(jí)特性

針對(duì)數(shù)學(xué)運(yùn)算符的高級(jí)特性

(( ? expression ?)) ?荆忍,支持除了上面以外的其他運(yùn)算符

val++ ? ? ? ?后增

val-- ? ? ? ? 后減

++val ? ? 先增

--val ? ? ?先減

! ? ? ? ?邏輯求反

~ ? ? ? 位求反

** ? ? 冪運(yùn)算

<< ? ?左位移

>> ? 右位移

& ? 位布爾求反

| ? ?位布爾或

&& ? 邏輯和

|| ? ?邏輯或

針對(duì)字符串比較的高級(jí)特性

[[ ?expression ?]],兩邊有空格

5.case命令

case ?variable in

pattern1 | pattern2) commands1;;

pattern3) commands2;;

*) commands;;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市刹枉,隨后出現(xiàn)的幾起案子叽唱,更是在濱河造成了極大的恐慌,老刑警劉巖嘶卧,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尔觉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡芥吟,警方通過(guò)查閱死者的電腦和手機(jī)侦铜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)钟鸵,“玉大人钉稍,你說(shuō)我怎么就攤上這事」姿#” “怎么了贡未?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)蒙袍。 經(jīng)常有香客問(wèn)我俊卤,道長(zhǎng),這世上最難降的妖魔是什么害幅? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任消恍,我火速辦了婚禮,結(jié)果婚禮上以现,老公的妹妹穿的比我還像新娘狠怨。我一直安慰自己,他們只是感情好邑遏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布佣赖。 她就那樣靜靜地躺著,像睡著了一般记盒。 火紅的嫁衣襯著肌膚如雪憎蛤。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天纪吮,我揣著相機(jī)與錄音蹂午,去河邊找鬼。 笑死彬碱,一個(gè)胖子當(dāng)著我的面吹牛豆胸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播巷疼,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼晚胡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼灵奖!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起估盘,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瓷患,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后遣妥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體擅编,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年箫踩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了爱态。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡境钟,死狀恐怖锦担,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情慨削,我是刑警寧澤洞渔,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站缚态,受9級(jí)特大地震影響磁椒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜玫芦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一衷快、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧姨俩,春花似錦、人聲如沸师郑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宝冕。三九已至张遭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間地梨,已是汗流浹背菊卷。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宝剖,地道東北人洁闰。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像万细,于是被迫代替她去往敵國(guó)和親扑眉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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