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 $$

관련 정보