"kill % 1"의 % 1은 무슨 뜻입니까?


12

$!마지막 (백그라운드) 프로세스의 pid 를 저장 한다는 것을 알고 있지만 그 %1의미는 무엇입니까? 나는 종종 그것을 함께 볼 때와 kill같은 효과가 kill $!있습니다. 누군가 나에게 힌트를 줄 수 있습니까? (이러한 작은 용어는 구글에 너무 어렵다 :-/)


.. google.com/search?q=percent+1+bash (3 번째 결과 참조)
Hello71

답변:


10

%지정자는 현재 쉘의 작업 목록에서 작업을 의미하고, PID를 반환합니다. 시도하십시오 help jobs.


1
나를 혼란스럽게 한 것은 man kill매뉴얼 페이지에 외부 킬 실행 파일 을 제공 한다는 것 %입니다. 그러나 bash는 또한이 내장 kill되는 등의 내장 외부보다 우선 kill하고, help kill우리는 내장과 jobspecs을 사용할 수있는 우리에게 kill, 그리고 jobspecs를 사용 할 수있는 것이 이유 중 하나입니다 그것이 왜 내장.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

8

Google에 원하는 것은 man bash

쉘에서 작업을 참조하는 방법에는 여러 가지가 있습니다. 문자 %는 작업 이름을 소개합니다. 작업 번호 n은 % n이라고 할 수 있습니다. 작업을 시작하는 데 사용되는 접두사를 사용하거나 명령 줄에 나타나는 하위 문자열을 사용하여 작업을 참조 할 수도 있습니다. 예를 들어, % ce는 중지 된 작업을 나타냅니다. 접두사가 둘 이상의 작업과 일치하면 bash는 오류를보고합니다. 반면에 %? ce를 사용하는 것은 명령 행에 문자열 ce를 포함하는 작업을 나타냅니다. 부분 문자열이 둘 이상의 작업과 일치하면 bash는 오류를보고합니다. %% 및 % + 기호는 현재 작업에 대한 쉘의 개념을 나타냅니다.이 작업은 포 그라운드에 있거나 백그라운드에서 시작된 마지막 작업입니다. 이전 작업은 %-를 사용하여 참조 될 수 있습니다. 현재 작업 만있는 경우 %-는 현재 작업의 쉘 개념을 나타냅니다. 작업과 관련된 출력 (예 : 작업 명령의 출력)에서 현재 작업에는 항상 +가 표시되고 이전 작업에는-가 표시됩니다. 단일 작업 비율이없는 단일 %도 현재 작업을 나타냅니다.

간단히 작업 이름을 지정하여 포 그라운드로 가져올 수 있습니다. % 1은 ''fg % 1 ''의 동의어이며 백그라운드에서 포 그라운드로 작업 1을 가져옵니다. 마찬가지로 ''% 1 & ''은 (는) ''bg % 1 ''에 해당하는 백그라운드에서 작업 1을 다시 시작합니다.

TL; DR : %1 작업 번호 1입니다.


5
나는 질이 직업 번호 1이라고 생각했다…
Ignacio Vazquez-Abrams

1
@Ignacio Vazquez-Abrams : 예, 자연의 요구.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.