bash에서 $$ 1의 의미는 무엇입니까?


27

나는 실제로 논증을 가지고 놀고 있으며 그 일이 일어났습니다. 나는 타이핑하면 어떻게 될지 알고 싶다고 생각 $$1했고 아래에 무언가를 얻었습니다.

raja@raja-BONEFISH:~$ $$1
19301: command not found

19301의 의미는 무엇입니까?

결론 : $$1bash에서 의미하는 것은 무엇입니까 ?


1
아야!! 훨씬 쉬운 일입니다. 나는 아직도 배울 것이 많다. 모든 답변은 슈퍼입니다. 모두 +1
rɑːdʒɑ

답변:


27

$$ 현재 프로세스의 PID (프로세스 ID)입니다.

$$1리터럴 문자열이 뒤에 오는 위 PID 1입니다.

따라서 bashPID 1930의 프로세스 임을 알려줍니다 .

하지만 ... 무료 트릭 :

show() { eval echo \$$1; }
show PATH
/home/romano/bin:/usr/local/bin:/bin:/usr/bin

(아주 복잡하지 않습니까?)

TLDP에 대한 추가 정보 .



1
잠시 동안 나는 TLDP를 "너무 길지 않았다"라고 읽었다.
루이스 알바라도

13
  • $$-현재 쉘의 pid (서브 쉘 아님)- 특수 달러 부호 쉘 변수 란 무엇입니까?

  • $$1-현재 쉘의 pid (서브 쉘 아님) 다음에 1.

  • $$2-현재 쉘의 pid (서브 쉘 아님) 다음에 2.

  • $$a-현재 쉘의 pid (서브 쉘 아님) 뒤에 a문자가 옵니다 .

  • 등등...

의 출력을 참조하십시오 echo $$1.

그리고 command not found분명히 명령이 아닌 숫자로 구성된 문자열을 실행하려고하기 때문에 오류가 발생 합니다.


10

당신은 연결된 한 $$1함께 현재 쉘의 PID를 얻을 수 및 1즉, $$현재 실행중인 쉘의 PID 약자 1단지 문자, 당신은 할 수있다 $$a, $$@PID를 다음 문자로 연결된 얻을.


6

$$ 1930어느 것이 현재 쉘의 pid 냅니다.

입력 할 때 $$1 pid 다음에 1이 표시되므로 출력이됩니다 19301.

$$2출력을 시도 하십시오19302

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.