日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu中的fi语法_Shell脚本语法--if/then/elif/else/fi

發(fā)布時(shí)間:2024/9/19 Ubuntu 82 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu中的fi语法_Shell脚本语法--if/then/elif/else/fi 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Shell腳本語法--if/then/elif/else/fi

和C語言類似,在Shell中用if、then、elif、else、fi這幾條命令實(shí)現(xiàn)分支控制。這種流程控制語句本質(zhì)上也是由若干條Shell命令組成的,例如先前講過的 ?www.2cto.com

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

其實(shí)是三條命令,if [ -f ~/.bashrc ]是第一條,then . ~/.bashrc是第二條,fi是第三條。如果兩條命令寫在同一行則需要用;號(hào)隔開,一行只寫一條命令就不需要寫;號(hào)了,另外,then后面有換行,但這條命令沒寫完,Shell會(huì)自動(dòng)續(xù)行,把下一行接在then后面當(dāng)作一條命令處理。和[命令一樣,要注意命令和各參數(shù)之間必須用空格隔開。if命令的參數(shù)組成一條子命令,如果該子命令的Exit Status為0(表示真),則執(zhí)行then后面的子命令,如果Exit Status非0(表示假),則執(zhí)行elif、else或者fi后面的子命令。if后面的子命令通常是測試命令,但也可以是其它命令。Shell腳本沒有{}括號(hào),所以用fi表示if語句塊的結(jié)束。見下例:

#! /bin/sh

if [ -f /bin/bash ]

then echo "/bin/bash is a file"

else echo "/bin/bash is NOT a file"

fi

if :; then echo "always true"; fi

:是一個(gè)特殊的命令,稱為空命令,該命令不做任何事,但Exit Status總是真。此外,也可以執(zhí)行/bin/true或/bin/false得到真或假的Exit Status。再看一個(gè)例子:

#! /bin/sh

echo "Is it morning? Please answer yes or no."

read YES_OR_NO

if [ "$YES_OR_NO" = "yes" ]; then

echo "Good morning!"

elif [ "$YES_OR_NO" = "no" ]; then

echo "Good afternoon!"

else

echo "Sorry, $YES_OR_NO not recognized. Enter yes or no."

exit 1

fi

exit 0

上例中的read命令的作用是等待用戶輸入一行字符串,將該字符串存到一個(gè)Shell變量中。

此外,Shell還提供了&&和||語法,和C語言類似,具有Short-circuit特性,很多Shell腳本喜歡寫成這樣:

test "$(whoami)" != 'root' && (echo you are using a non-privileged account; exit 1)

&&相當(dāng)于“if...then...”,而||相當(dāng)于“if not...then...”。&&和||用于連接兩個(gè)命令,而上面講的-a和-o僅用于在測試表達(dá)式中連接兩個(gè)測試條件,要注意它們的區(qū)別,例如,

test "$VAR" -gt 1 -a "$VAR" -lt 3

和以下寫法是等價(jià)的

test "$VAR" -gt 1 && test "$VAR" -lt 3

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的ubuntu中的fi语法_Shell脚本语法--if/then/elif/else/fi的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。