重複の可能性:
シェルで$$はどういう意味ですか?
Linux用のシェルスクリプトを読んでいて、変数に出くわしました$$
:2つのドル記号。基本的にフルラインは
work_dirname=/tmp/my-work-$$
どういう$$
意味ですか?
重複の可能性:
シェルで$$はどういう意味ですか?
Linux用のシェルスクリプトを読んでいて、変数に出くわしました$$
:2つのドル記号。基本的にフルラインは
work_dirname=/tmp/my-work-$$
どういう$$
意味ですか?
$$
シェルのプロセスIDを示します。
スクリプト自体のプロセスID(PID)です。この
$$
変数は、スクリプトで「一意の」一時ファイル名を作成するために使用されることがよくあります(例32-6、例16-31、および例15-27を参照)。これは通常、mktempを呼び出すよりも簡単です。
(出典:http ://tldp.org/LDP/abs/html/internalvariables.html#PROCCID )
実行中のスクリプトのプロセスIDです。これを使用して、一時ファイルの一意のファイル名を作成できます。これは、探しているスクリプトがおそらく実行していることです。
参照:http ://tldp.org/LDP/abs/html/internalvariables.html#PROCCID
@KingsIndianは正しいです: $$
シェルのプロセスIDを与えます。
しかし、プロセスIDとは何ですか?
それを理解するには、これを試してください:
$ echo $$
$ sh
$ echo $$
$ exit
$ echo $$
1番目と3番目のエコーは同じプロセスIDを出力しますが、真ん中のエコーは異なるプロセスIDを出力します。違いは、sh
コマンドが既存のシェルを一時停止し、新しいプロセスであり、独自のIDを持つ新しいシェルを開くことです。
あなたの例のような構文は、各シェルに独自のファイルを持たせたい場合に使用されます。これは、他のシェルによって開かれたファイルと競合しません。これが堅牢であるかどうかは、ファイルで何が行われるかによって異なりますが、これは時々使用される戦略です。
コマンドも参照してくださいmktemp
。