bash の $$ とは何ですか?

bash の $$ とは何ですか?

私がそれに合わせて進化させたスクリプトがあり、次のようなコマンドラインがあります:

mytemp=`echo ${sourcedir}|awk -F/ '{printf "/%s/tmp",$2}'`/`basename $0`-$1.$$

コマンドの最後には、$$数値が生成されます。bashecho $$で使用すると、次のような数値も表示されます。

 #echo $$
 23019

この数字は正確には何ですか、そしては何ですか$$?

答え1

から高度な Bash スクリプト ガイド:

$$ はスクリプト自体のプロセス ID (PID) です。

$BASHPID は、Bash の現在のインスタンスのプロセス ID です。これは $$ 変数と同じではありませんが、多くの場合、同じ結果を返します。

答え2

$$は、現在のシェル インスタンスのプロセス ID です。したがって、この場合は、23019 という数字が、 のインスタンスの PID になりますbash

以下を見ると、よりよく理解できるはずです。

ps -p $$

関連情報