![bashの$$は何ですか? [コピー]](https://linux33.com/image/89225/bash%E3%81%AE%24%24%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
これを使ってスクリプトを開発しましたが、そのコマンドは次のとおりです。
mytemp=`echo ${sourcedir}|awk -F/ '{printf "/%s/tmp",$2}'`/`basename $0`-$1.$$
コマンドが終了すると、$$
数字が生成されることがわかります。 Bashで使用すると、echo $$
次の数字も表示されます。
#echo $$
23019
この数字は正確に何ですか?また何ですか$$
?
答え1
$$はスクリプト自体のプロセスID(PID)です。
$ BASHPIDは、現在のBashインスタンスのプロセスIDです。これは$$変数とは異なりますが、通常は同じ結果が得られます。
答え2
$$
現在のシェルインスタンスのプロセスID。したがって、あなたの例では、数字23019はインスタンスのPIDですbash
。
以下は、より良いアイデアを提供します。
ps -p $$