GNU/Linux >> Linux の 問題 >  >> Linux

エコー$は何ですか?行う??

この質問にはすでに回答があります :アプリケーションの終了コードを検索するにはどうすればよいですか?

(2つの回答)
2年前に閉鎖されました。

私の端末では、一見ランダムな数字127が出力されました 。いくつかの変数の値を出力していると思います。疑わしい点を確認するために、新しい変数v=4を定義しました。 。 echo $?を実行しています もう一度をくれました 出力として。

4が答えになると思っていたので、混乱しています。

承認された回答:

man bashから :

$?最後に実行されたフォアグラウンドパイプラインの終了ステータスに展開されます。

echo $? 最後のコマンドの終了ステータスを返します。 127を取得しました これは、最後に実行されたコマンドの終了ステータスであり、エラーが発生して終了しました(おそらく)。正常終了時のコマンドは、終了ステータスがで終了します。 (おそらく)。最後のコマンドは出力を与えました echo $v以降 前の行でエラーなしで終了しました。

コマンドを実行した場合

v=4
echo $v
echo $?

次のように出力されます:

4 (from echo $v)
0 (from echo $?)

また試してみてください:

true
echo $?

を取得します 。

false
echo $?

1を取得します 。

true コマンドは何もしません。ステータスコードで終了します。;およびfalse コマンドも何も実行せず、失敗を示すステータスコード(つまり、ステータスコード1)で終了します。 。


Linux
  1. 「–」(二点鎖線)とはどういう意味ですか?

  2. 何をしますか?

  3. Exec 3とは何ですか?

  1. Libgl_always_indirect =1は実際に何をしますか?

  2. Bamfdaemonは何をしますか?

  3. poll() はタイムアウト 0 で何をしますか?

  1. malloc(0) は何を返しますか?

  2. 「cd -」は何の略ですか?

  3. 「bash -c」は何をしますか?