Linuxのシェルの

コマンドシェルを実行し、戻り値を返す場合、戻り値は中?シェル変数$に格納されます。?とき$ == 0、;?成功を示す== $ 1は、指示する実行が失敗した時。
時には、次のコマンドは、前のコマンドが正常に実行されたかどうかによって異なります。以下のような:再実行したコマンドが正常に実行された後、別のコマンドまたは別のコマンドがそのようにコマンドが失敗した後に実行されます。&&と||実行シェルを制御するための制御コマンドの機能を実現するために設けられ、シェル、コマンドの後ろに、またはコマンド||の戻り値の前に&&係ります。
&&(制御コマンド)
構文は次の通りである:
Command1を&& Command2を[COMMAND3 && ...]
1つの&&接続コマンドを使用して、論理機能を実現します。
2 &&のみコマンドの権利が実行されます&&(コマンドは$?== 0の値を返します)trueを返すコマンドに残しました。
3限りコマンド戻る偽あるように(コマンド$の値を返す?== 1)、後者のコマンドは実行されません。
例1
Ubuntuの@ malihou:〜$ cpは〜/デスクトップ/ 1.TXT〜/ 1.TXT && RM〜/デスクトップ/ 1.TXT &&エコー"成功"
1〜/デスクトップディレクトリからコマンドの例1つのまずコピーを。ディレクトリへのTXTファイル〜;実装を成功した後、元のファイルを削除するためにRMを使用して、削除がシステム出力成功した場合。
||(制御コマンド)
構文は次のとおりである:
のCommand1 || Command2を[COMMAND3 || ...]
使用||コマンドとの間に接続された、または論理機能を実現します。
2 ||コマンドに残っのみfalseを返します、||コマンドの権利が実行されます(コマンドは、$?== 1の値を返します)。このロジックとC言語構文または機能的に同一、すなわち、短絡や論理演算。
コマンドがある限り真3戻る(コマンド$?== 0の値を返す)、後者のコマンドは実行されません。
例2
malihou Ubuntuは、@:〜$〜RM /デスクトップ/ 1.TXT ||エコー"失敗"
実施例2では、〜/デスクトップディレクトリには、ファイル1.TXT、出力メッセージの下に存在しない場合。
例3
malihou Ubuntuの@:〜$〜RM /デスクトップ/ 1.TXT &&エコー「成功」||エコー「失敗」
例3では、デスクトップ、出力成功メッセージの下のファイル1.TXT〜/ディレクトリであれば、そうでない場合、出力にはメッセージを失敗します。

シェルは、()(、及び{})は、2つの方法を提供し、いくつかのコマンドと連携達成代わりに独立して行います。このアプローチは、コマンドが決定された最後のコマンドの最後の戻り値の値を返します、だけ一緒に個々の実行、複数のコマンド、制御コマンドを実行する必要はありません。
()(コマンドの組み合わせ)
構文は次の通りである:
(Command1を; Command2を[; COMMAND3 ...])
コマンド間で同じ行に必要な複数のコマンドは、コマンド・セパレータを使用している場合は1、Aは(排他物理回線を必要とします;)区切り。実行個々別々の複数のコマンドを実行した効果と同等の効果。
2()は、全体として、現在のシェルで実行される複数のコマンドを表します。使用して、なお()囲まれたコマンドは、現在の作業ディレクトリを切り替え前面に実行されない、すなわち、コマンドの組み合わせでは、コマンドにもかかわらず、現在の作業ディレクトリ、ディレクトリ変更コマンドで実行されます。
3、しばしば組み合わせて使用されるコマンド実行制御コマンドの組み合わせ。
例4
malihou Ubuntuの@:〜$〜RM /デスクトップ/ 1.TXT ||(CD〜/デスクトップ/; -a LS; "失敗"エコー)
実施例4では、文書のディレクトリ〜/デスクトップならば不在。 TXT、コマンドの組み合わせを実行します。


ます。http://blog.csdn.net/xyls12345/article/details/39054555参考URLを参照してください。

おすすめ

転載: www.cnblogs.com/lipengsheng-javaweb/p/11441715.html