シェル--day 5

if文:

 

文の形式:

1、単一の分岐の文:

                      条件であれば、その後、

                          文を実行

                      されます

                      唯一の条件がtrueの場合、実行文が戻ります。

2、二重の分岐文:

                       条件であれば、その後、

                            文1を実行し

                       他

                            文を実行2

                        されます

3、多分岐声明:

                         条件1であれば、その後、

                             文1を実行し

                         elif条件2;その後、

                              文を実行2                      

                         elif条件3;その後、

 

                              3実行文

                          ...
                          他には、
                               声明にN-実行
                           Fiを提供して

実験の部:

はい、表示した場合に1、それが決定され、/ etc / inittabファイルには、100より大きい行での「/ etc / inittabのは大きなファイルです。」が表示人が「の/ etc / inittabファイルは小さなファイルです。」か

 

[ルート@のLSL〜] viの2 .txtの / binに/!バッシュ
A = `トイレ-lは/ etc / inittabファイル|カットは-d '  ' - f1`
 場合は [$ -gt 100 ];その後、
エコー" は/ etc / inittabファイルは大きなファイルです。

エコーは/ etc / inittabファイルは小さなファイルです。" 
Fiの

 

図2は、ユーザが指定した、ユーザが管理者である場合、ユーザは、それは。それ以外の場合は、「ユーザーが管理者である」表示されるか決定するためにである「利用者が正規の利用者です。」

[ルート@ LSLは〜] viの6 の.txt  /!bin.bashの
#は、
"ユーザーの入力を喜ば:" -p読むユーザー
であれば ID -u $ 1&>は/ dev / nullに、次に = $(ID -u $を1 もし [$ -eq 0 ];次に エコー" $ 1夕食ユーザである" のelif [$ -ge 1 $ -a -lt 500 ];次に エコー" $ 1は、システムのユーザである" エコー" $ 1れます通常のユーザー FI エコー$ 1のユーザーが存在しない" Fiの

 

図3は、ファイルが存在するかどうかを判断します

[ルート@のLSL〜]#viの7 の.txt !/ binに/ bashのの
#は、
ファイル: "入力を喜ばファイル" -p読んで
いる場合、[-e $ 1 、その後;] 場合は [-f $ 1 ]は、次に エコー" ファイルを存在する 他の エコーは、$ 1存在しますが、ファイルではありません FI エコー$ 1は存在しません" fは

 

プログラムか否かをユーザのデフォルトのシェルbashのかどうかは、存在する場合、これらのユーザーの複数が存在するが、現在のシステム上に表示されるかを決定する4は、そうでなければそのようなユーザーを示しませんでした

[ルート@のLSL〜] viの5 .txtの!/ binに/ bashのの
#の
はgrep " \ <nologinの\> " / etc / passwdファイル&>は/ dev / nullの

場合は $ [?-eq 0 ];その後、
     エコー" cunzaiユーザー" 
     エコー" のようなユーザーnologinに:" 
     はgrepを" \ <nologinの\> " / etc / passwdファイル| -dカット" " - F1 
     エコー" ユーザーの合計" 
     はgrep " \ <nologinの\> " / etc / passwdファイル| トイレ- リットル

     エコーシェルユーザーが存在しない
Fiの

 

5、例えば、ファイルを与えられた、スクリプトを記述します。/ etc / inittabを、空白行がファイル内に存在するかどうかを判断するために?B、もしそうであれば、その行番号空白行を表示し、そうでなければ空行が存在しません

[ルート@ LSL〜] viの4 の.txt  / binに/!のbash 
の場合 [$ -f 1 ];その後、
   grepを" ^ [[:スペース:]] * $ " /tmp/inittab.bak&>は/ dev / nullの
   場合は [$?-eq 0 ];その後、
         エコー" のスペースがあります。" 
         grepを -n " ^ [[:スペース:]] * $ " /tmp/inittab.bak | -dカット - F1 
         終了0を
   他の
         エコーないは、このような:
         終了を1 
   Fiの


         エコーファイルではありません終了しない、またはファイルを!
         終了2 
Fiの

 

6、UIDとGIDは、あるかのように、のような、それはユーザが「いい子」であることを示しているかどうかを判断するためのスクリプトを書きます

[ルート@ LSL〜]#viの8 の.txt    / binに/!のbash 
#は、
"入力を喜ばユーザー:" -p読むユーザー ERNAMEが
= USER1の USERID = 'ID - U $ USERNAME` GROUPID = `ID - グラムの$ USERNAMEを` 場合は、[$のUSERIDは- EQ $ GROUPID]は、次に エコー良い男の子を エコー不良少年 Fiを提供して

 

7、自分のパスワードの警告期間を得るために、ユーザが与えられ、スクリプトを記述し、今日はすでに警告期間に満たない場合は、ユーザーがタイムパスワードから最後に変更されたかどうかを判断します

[ルート@ LSL〜]#viの9 の.txt    / binに/!のbash 
#は、
"入力を喜ばユーザー:" -p読み、ユーザ Wが
= `grepの" 学生"の/ etc /影を| -dカット: - f6` S = `日付+%S` T =` exprの$ S / 86400 ` L =` grepの" ^学生"の/ etc /影| -dカット: - f5` N = `grepの" ^学生"の/ etc /影| -dカット- f3` SY = $ [$ 1 - $ [$ T- $ N]] なら [$のSY - LTする$ W]。その後、 エコー警告 エコーOK Fiの

 

より大きく、それ以外の場合はOKが表示され、「いくつかのコマンドが消えます」場合は、合計でコマンド履歴のコマンドの履歴を決定する8は、1000個のエントリよりも大きく、

[ルート@ LSL〜]#viのB.TXT  / binに/!のbash 
#1 
NUM = `歴史| トイレ- 'L'
 であれば [$ NUM -gt 1000年];その後、
    エコーいくつかのコマンドが消えます

    エコーOK 
Fiを提供して

 

ファイルがディレクトリである場合、通常のファイルは、ショーでも、表示された場合は9、ファイル与えられ、それ以外の場合は、「認識しない」が表示さ

[ルート@のLSL〜]#viのc.txt !/ binに/ bashのの
#は
読ん -p " :入力を喜ばファイル" ファイル
 場合 - [ その後、F $ファイル] 
   エコー" 普通のファイル" 
のelifの[ - D $ファイルを] ;その後、
   エコーディレクトリのファイルは、」
他の
   エコーを区別することができない
Fiの

 

10、それ以外の場合は、「そのようなファイルを」表示しない、このパラメータは、「OK」を表示上の既存のファイルがあるかどうかを判断するためのパラメータ(ファイルパス)を受け入れることができますスクリプトを書きます

[ルート@のLSL〜]#viのd.txt !/ binに/ bashのの
#は
読ん -p " :PASH入力してください" ルート
 場合 - [ その後、Fの$ルート] 
   エコー" OK " 

   エコーない" そのようなファイル" 
Fiを提供して

 

11、スクリプトに2つのパラメータを渡し、スクリプトを作成し、両方は、製品二つの和を示し

[ルート@ LSLは〜]#viのe.txt    / binに/!のbash 
#が
読み -p " plesae入力NUM1を:" NUM1が
読み -p " を入力してくださいからnum2:" からnum2の
合計 = $ [$ NUM1 + $ num2の] 
製品 = $を[$ NUM1 * $ num2の] 
      エコー" $ NUM1 + $ num2の= $合計" 
      エコー" の$ NUM1 " X " $ NUM2 = $製品"

                       

おすすめ

転載: www.cnblogs.com/Blockblogs/p/11556908.html