bash에서 $$는 무엇입니까?

bash에서 $$는 무엇입니까?

내가 발전시킨 스크립트가 있는데, 아래와 같은 명령줄이 있습니다.

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

명령의 마지막 부분에서 $$숫자가 생성되는 것을 볼 수 있습니다. bash에서 사용할 때 echo $$다음과 같은 숫자도 표시됩니다.

 #echo $$
 23019

이 숫자는 정확히 무엇이며, 은 무엇입니까 $$?

답변1

에서고급 Bash 스크립팅 가이드:

$$는 스크립트 자체의 프로세스 ID(PID)입니다.

$BASHPID는 현재 Bash 인스턴스의 프로세스 ID입니다. 이는 $$ 변수와 동일하지 않지만 종종 동일한 결과를 제공합니다.

답변2

$$현재 쉘 인스턴스의 프로세스 ID입니다. 따라서 귀하의 경우 숫자 23019는 해당 인스턴스의 PID입니다 bash.

다음은 더 나은 아이디어를 제공합니다.

ps -p $$

관련 정보