난 달린다 grep some-string -r . &
. bkg에서 실행되면 cd
다른 디렉토리로 이동합니다. grep
하드 링크가 다르게 해석되는 것 같습니다 .
. 현재 디렉토리를 변경하기 전후에 어떤 일이 발생합니까? 원래 디렉터리와 새 디렉터리가 불완전하게 검사됩니까?
.
명령인 명령줄 인수가 명령 실행 시작 시에만 역참조되는지, 아니면 프로그램이 실행되는 동안 사용될 때마다 역참조되는지 궁금합니다 .
답변1
각 프로세스에는 프로세스 외부에서 변경할 수 없는 자체 "현재 작업 디렉터리"가 있습니다.
그래서 당신이 할 때
grep some-string -r . &
쉘이 grep
백그라운드에서 시작되고 grep
현재 작업 디렉토리가 쉘과 동일한 값으로 초기화됩니다.그 순간. 여기에 grep
정의된 것은 .
다른 디렉토리가 아닌 자체 현재 디렉토리입니다. 쉘은 인수 해석에 참여하지 않습니다.
이후에 쉘 디렉토리를 변경해도 cd
영향을 미치지 않습니다 grep
.