試験条件と比較プロセスは制御の場合:シェルスクリプトは、<3>基本を整理します

まず、比較と試験の条件
1は、テスト式をテストするために使用される
テスト|| trueとfalseに-f &&エコーエコーファイル
2、[式試験]特に共通
[-fファイル] && ||エコーエコー偽に忠実に
。3、[テスト式]]
第二に、プロセス制御

1、フロー制御if文
例1
#/ビン/バッシュ!
#は、UID = 0(ルート)は0で取得します。
ID =id | awk -F '[=(]' '{print $2}'
エコー"ユーザーIDごIS:$ ID"が
あれば[$のID -eq 0]
その後は
「ルートをエコー"
他に
はないルート「エコー"
Fi回線
例2:ユーザーでログインして分析
#!/ binに/ bashが
#$の#シェルはパラメータの数に加算される
場合は、[$#-eq 1]#または[[$#== 1]]または(($#== 1)。)
その後、
WHOのIF | grepをの$ 1>は/ dev / nullにする。
その後、
$エコー1がアクティブである。
他の
エコー$ 1がアクティブになっていない。。
Fiは
他に
"使用法:$ 0 <ユーザー名>"エコー
出口1。
Fiは

実行結果
ルートif-if.sh [ルート@ localhostのシェル]#のSH
ルートがアクティブになります。
[ルート@ localhostのシェル]#SH if-if.sh ZABBIX
Zabbixはアクティブではありません。
[ルート@ localhostのシェル]#件のSH if-if.shの
使い方:if-if.sh <ユーザー名>
[ルート@ localhostのシェル]#
实例3 IF-elif..else-Fiの
#!/ binに/ bashの
## IF- elif..else-Fiは
、 "?どのようにLODはあなたが"年齢-p読ん
#の使用シェル算数运算符(())进行条件测试
その後、#[[年齢<;もし((年齢<0 ||年齢> 120)) 0 || 年齢> 120]]
"範囲外"エコー
出口1
Fiの
場合((年齢> = 0 &&年齢<13));次に
、 "子を!"エコー
のelif((年齢> = 13 &&年齢<20));次に、
「カランエコー! "
elif((年齢> = 20 &&年齢<30));次に、
エコー"P III"
のelif((年齢> = 30 &&年齢<40));次に、
"P IV I"エコー
他に
「申し訳ありませんが、私は尋ねた。」エコー
Fiの
实例4
#!/ binに/ bashの
##文はネストすることができた場合
、ファイルを1 = $。
[$#-ne 1] &&エコー "使い方:$ 0 <ファイル名>"。1番出口&&
#エラー文言[$#-ne 1] &&エコー 「使い方:$ 0 <ファイル名>「;ので、1番出口」;「正しい行います裁判官の前にいるかどうかに関係なく
行を
[-d $ファイル]場合は
、次に
エコー」$は、ファイルのディレクトリである"
elifの[-f $ファイル]
そして
[-r -a $ファイルのiF -X-ファイル$ $ -a -wファイル]、次に
エコー"あなたはON(RWX)permissioonファイル$を持ってい"。

エコー"$ファイルのファイルである"。
Fiの

エコー"$ FLES IS AどちらNORディレクトリファイルを。"
Fi回線
実行結果
[シェルルート@ localhostの]#Vimのif-elif-if-else.sh
[シェルルート@ localhostの]#のSH-IF-IF-elifの他。SH劉
あなたは劉上(RWX)permissioonを持っています。
[ルート@ localhostのシェル]#shのif-elif-if-else.sh liub
liubディレクトリである
[ルート@ localhostのシェル]#タッチQQ
[ルート@ localhostのシェル]#shのif-elif-if-else.sh QQ
QQファイルです。
[ルート@ localhostのシェル]#

おすすめ

転載: blog.51cto.com/14294148/2434481