で変数を割り当てている場合
temp=$!
その価値は何でしょうか?
$!
には、最後に実行されたバックグラウンドパイプラインのプロセスIDが含まれています。 man bash
:
特別なパラメータ
シェルはいくつかのパラメーターを特別に扱います。これらのパラメーターは参照されるだけです。それらへの割り当ては許可されていません。
...
!
-最後に実行されたバックグラウンド(非同期)コマンドのプロセスIDに展開されます。
例えば:
$ sleep 60 &
[1] 6238
$ echo "$!"
6238
Bashのmanページから:
! Expands to the process ID of the most recently executed
background (asynchronous) command.
そう $!
には、バックグラウンドで実行された最後のジョブのプロセスID(PID)が含まれます。
$ sleep 100 &
[1] 18813
$ echo "$!"
18813