シェルスクリプトの求人

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

#!/ binに/ bashの
 場合は [ `トイレ-lは/ etc / inittabファイル| awkの' {$ 1印刷} ' `-gt 100 ];その後、
        エコー」は/ etc / inittabファイルがある。大きなファイル」
 
        「エコー/ etc / inittabファイルがある。小さなファイル」
Fiの

 


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

#!/ binに/ bashのの
#の
USERID = 'ID -u $ 1 `
 場合、[$のUSERID -eq 0 ]; その後、
エコー、「管理者

エコー共通のユーザーを。
Fiを提供して

 


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

1#!/ binに/ bashの
 2   / etc / sysconfig / network-scriptsに/のifcfg-ens33> ヌル
3  であれば [$?-eq 0 ]; その後、
4          エコー " 存在" 
5  他の
6          エコー " 不存在"

 

[ユーザーおよびBashを示すもの]; 4、システムは、その場合、そのような複数のユーザを表示し、デフォルトのシェルbashのプログラムかどうか、現在のユーザーかどうかを判断するそうでなければそのようなユーザーを示しませんでした

#!/ binに/ bashの
 IF [ ` grepの " バッシュ$ "の/ etc / passwdの | CAT -n | awkの ' {} 1プリント$。' ` -gt 0 ]; その後、
        エコー ` グレップ " のbash $ "の/ etc / passwdの | awkは -F " "  ' {} 1つの印刷$。' `
 
        エコー " いいえ、そのようなユーザー" 
Fiの

 


5、それ以外の場合は「悪い男」で、UIDとGIDは、あるかのように、のような、それはユーザが「いい人」であることを示しているかどうかを判断するために、ユーザー与え、スクリプトを書きます

#!/ binに/ bashのは
USERID = `grepの"^ルート"/ etc / passwdファイル|カット-d ':' -f 3,4 | -dカット':' -f 1` 
GRPID =` grepの"^ルート" / etc / passwdファイル|カット-d ':' 3,4 -f | -dカット':' 2 '-f 
[$ USERID -eq $ GRPID]であれば、その後、
    「いい男を。」エコー 
他に
    「悪い男。」エコー 
Fiの

 


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

。1#/ビン/!bashの
 2  3。、Wは= ` grepを " ABC "の/ etc /シャドウは| カット -d: - f6`#パスワード有効期限の警告時間抽出
 。4 S =` DATE +%のS`システム指定された年の#今(秒)の経過時間に
 。5 T = ` exprのの $のS / 86400 現在のシステムの年に日の`#指定された数は(日)が経過
 。6 L = ` grepの " ^ ABC "の/ etc /シャドウ| カット -dを: - f5`#パスワード抽出された有効期限
 。7 N = ` grepの " ^ ABC "の/ etc /シャドウは| カット -d: -f3`#最終更新時刻パスワードを削除
 8。 SYの$ = [L $ - $ [T- $ $ N]]#は、有効期限(SY)に残り日数を計算
 。9  IF [-LT-SY $ - $ Wがあります] ; 次いで、
10      エコー Worningを
。11  
12である     エコー OK 
13である Fiの

 


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

#!/ binに/ bashの
A = `歴史| TR -s [:スペース:] | テール - 1 | AWK  ' {$ 1印刷} ' `
 場合、[> $ Aの1000年 ]。その後、
        エコー いくつかのコマンドが消えます。

        エコー OK 
Fiを提供して

 


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

#!/ binに/ bashの
 IF [-f `のLSは/ etc / inittab`]; その後、
 エコー、 "共通ファイル"
 のelif [-d` LSは/ etc / inittab`]; その後、
 エコー、 "ディレクトリ・ファイル"
 
 エコー " 認識しません" 
Fiの

 


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

#!/ binに/ bashの
 場合は [input`読んで、 `-f]。その後、
        エコー 、「OK 

        エコーない なし
Fiを提供して

 


図11は、スクリプトを記述したスクリプトに2つのパラメータを渡し、製品ディスプレイ二つの両方。

#!/ binに/ bashの
 場合は [$#-lt 2 ]。その後、
    エコー " 使い方:cacl.sh ARG1 ARG2 " 
    の出口8 
Fi回線
    エコー " の合計は、次のとおりです。$ [$ 1 + $ 2] " 
    エコー " PRODは次のとおりです。$ [$ 1 * $ 2] "

 

おすすめ

転載: www.cnblogs.com/ljx1/p/11330807.html