バックグラウンドジョブ完了ステータスの「Exit 2」とは何ですか?

バックグラウンドジョブ完了ステータスの「Exit 2」とは何ですか?

一部のデータ(一部のディレクトリの* conf)をファイルに入れ、バックグラウンドでこれを行う必要がある練習があります。私はそれをし、出力メッセージが何を意味するのか知りたいです。

[A@localhost tests]$ ls -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1 &

次の行を入力してください:

[1] 2533

どういう意味ですか? Enter を押すと別のメッセージが表示されます。

[A@localhost tests]$
[1]+  Exit 2                  ls --color=auto -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1

どういう意味ですか? 「2番出口」とは何ですか?

確認結果を入力してください。すべてが正常なようです。

[A@localhost tests]$
[A@localhost tests]$ ls -l test1_6_conf.txt
-rw-rw-r--. 1 A A 2641 Nov 22 14:19 test1_6_conf.txt
[A@localhost tests]$ 

私はGnome端末エミュレータであるCentOS 6.4を使用しています。

答え1

どういう意味ですか? 「2番出口」とは何ですか?

終了状態ですls。 man lsを参照してください。

   Exit status:
       0      if OK,

       1      if minor problems (e.g., cannot access subdirectory),

       2      if serious trouble (e.g., cannot access command-line argument).

その理由は、/usr に *conf ファイルが多く、/etc/usr に *conf ファイルがないためだそうです。実際にはls -ld /usr/*conf;同じ効果があります。

したがって、既存のファイルがあるコンピューターで、ls次のようにします。

ls main.cpp; echo $?
main.cpp
0

存在しないファイルの場合:

ls main.cppp; echo $?
ls: cannot access main.cppp: No such file or directory
2

あるいは、バックグラウンドプロセスとして、lsは存在しないファイルを探します。

>ls main.cppp &
[1] 26880
ls: cannot access main.cppp: No such file or directory
[1]+  Exit 2                  ls main.cppp

関連情報