&&、()、||は、Linuxのコマンドの順序を実施することを決定しました

コマンドを実行すると、時々、あなたは正常に実行前のコマンドに依存する必要があります。あなたが別のマシンにsshコマンドポストを介してデータファイルを大量にコピーしたい場合は、そこにすべてのソースファイルを削除しますので、我々は最初のコピーを決定する必要がありますが、ソースファイルを削除する前に、正常に実行されていません。限りコピーの実装を成功としてそれ以外の結果、削除することができます......

一、&&

1.フォーマット
のCommand1 && command2の
 2の意味
のCommand1 &&左実行成功(リターンの成功のための0)、コマンド2 &&直後に実行されます。
3.実施例
(1)ファイルのコピーがsql.bak.txt sql.txt成功し、その後sql.bak.txtのコピー表示
 【ルートRHEL5シェル@]#のcp sql.txtのsql.bak.txt && SQLのCATを.bak.txt
 データベースサイズ(MB)作成日
 --------------------------------------- -----
 GOSOUTH 2244 12/11/97
 TRISUD 5632 8/9/99
 (2行が影響を受けます)

(2)ソートしfacebook.txt.sortedに格納されているfacebook.txtファイルが正常に実行された場合、印刷ファイルをfacebook.txt.sorted
ソートfacebook.txt> facebook.txt.sorted && LP facebook.txt.sorted

二、||

1.フォーマット
のCommand1 || command2の
 2.意味
 ||のCommand1はcommand2の&&右の実装に、左(失敗のリターン1)に失敗した場合。
実施例3
実行正常facebook.txtコンテンツの表示を行う場合(1)、最初の列1111.txtの内容を印刷する
[RHEL5シェル@ルート]#のAWK 「{$ 1印刷}」1111.txt ||猫のFacebook。 TXT 
のawk:CMDライン.. 1:致命的: `1111.txt読み込むファイルが開けません」(そのようなファイルまたはディレクトリ)
グーグル110 5000
Baiduの100 5000
なGuge 50 3000
SOHU 100 4500は
1111.txtの(2)最初の印刷コマンドコンテンツが正常に実行されたコマンドを実行しない印刷facebook.txt
[RHEL5シェルルート@]#1のawk「{}。1つの印刷$」|| facebook.txt facebook.txt CAT
グーグル
Baiduの
なGugeの
SOHU

第三に、()

あなたはいくつかのコマンドを実行したい場合は、コマンドの区切りセミコロンで区切られた各コマンドを使用する必要があり、括弧()すべてのコマンドを一緒。
 &&と||複雑な機能の組み合わせを実現することができます。
1.フォーマット(Command1を、COMMAND3 ;; Command2を...)
 2.実施例
(1)複数のコマンドを使用して、ソート・コマンドが正常に実行された場合、/ルート/バックアップ/ディレクトリへの最初の選別のバックアップファイルは、印刷
ソートfacebook.txt>(CP facebook.txt.sorted /root/backup/facebook.txt.sorted;lp facebook.txt.sorted)&& facebook.txt.sorted
 (2)プリントfacebook.txtファイルには、ルートを知らせるために、電子メールの送信に失敗しましたユーザー、およびシャットダウン
(「それがされたエコーLPは|| facebook.txt.sorted |;のinit 0メールルートsuccuessfully提出していません」)

おすすめ

転載: www.linuxidc.com/Linux/2019-08/159918.htm