0

次の式がどのように機能するかについて、いくつかの混乱があります。

cc file_name.c  && ./a.out 

filename.c が正常にコンパイルされると、その存在ステータスは 0 (ゼロ) になります。したがって、論理 && 演算に従って、2 番目の式 ( ./a.out ) は実行されないと想定されます。しかし、それでも機能し、結果が得られます。使い方 ?

ありがとう

4

2 に答える 2

2

0シェルでの成功を意味します。C とはbash異なります。man ページから:

AND および OR リストは、それぞれ&&および││制御演算子で区切られた 1 つ以上のパイプラインのシーケンスです。AND リストと OR リストは、左結合で実行されます。AND リストの形式は次のとおりです。

コマンド1 && コマンド2

command2は、 command1がゼロの終了ステータスを返す場合にのみ実行されます。

于 2012-07-26T05:32:19.480 に答える
1

シェル コマンドを実行すると、戻り値 0 はコマンドが正常に実行されたことを意味します。ゼロ以外の値は、コマンドの処理中にエラーが発生したことを意味します。したがって、前のコマンドが成功した場合は次のコマンドに進み、そうでない場合は中止します。

于 2012-07-26T05:34:30.243 に答える