Bashスクリプトで「$!」とはどういう意味ですか?

Bashスクリプトで「$!」とはどういう意味ですか?

変数を割り当てると

temp=$!

その価値は何ですか?

答え1

$!最後に実行されたバックグラウンドパイプのプロセスIDを含みます。からman bash

特殊パラメータ

シェルはいくつかのパラメータを特別に扱います。これらのパラメータは参照用にすぎず、そのための割り当ては許可されていません。

...

!- 最後に実行されたバックグラウンド(非同期)コマンドのプロセスIDに展開されます。

たとえば、

$ sleep 60 &
[1] 6238
$ echo "$!"
6238

答え2

Bashのマニュアルページから:

   !   Expands to the process ID of the most recently executed 
       background (asynchronous) command.

したがって、$!最後のバックグラウンドジョブのプロセスID(PID)が含まれます。

はい

$ sleep 100 &
[1] 18813

$ echo "$!"
18813

引用する

関連情報