что такое $$ в bash?

что такое $$ в bash?

есть скрипт, который я разработал с его помощью, он имеет строку команды, как показано ниже:

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

в конце команды мы видим, $$что выводится число. когда я использую echo $$в bash, я также вижу число, подобное следующему:

 #echo $$
 23019

что именно это за число и что такое $$?

решение1

ОтРасширенное руководство по написанию сценариев Bash:

$$ — это идентификатор процесса (PID) самого скрипта.

$BASHPID — это идентификатор процесса текущего экземпляра Bash. Это не то же самое, что переменная $$, но часто дает тот же результат.

решение2

$$это идентификатор процесса текущего экземпляра оболочки. Так что в вашем случае число 23019 — это PID этого экземпляра bash.

Следующее должно дать вам лучшее представление:

ps -p $$

Связанный контент