GNU "bash"셸을 실행하는 Linux 컴퓨터 용 셸 스크립트를 "상속"했습니다. 특정한 경우, 머신은 GNU bash 버전 2.0.5b를 실행합니다.
이러한 스크립트 중 하나 wait &
에는 for
루프 의 "for line"의 일부로 ( "wait ampersand") 명령이 있습니다. 언뜻보기에는 호기심이 많고 흥미로운 관용구 인 것처럼 보이지만 내 웹 검색은 관련성이 없습니다. man wait
다음 설명이있는 "BASH_BUILTINS"( "BASH BUILTINS COMMAND") 맨 페이지를 보여줍니다.
wait [n]
Wait for the specified process and return its termination status.
n may be a process ID or a job specification; if a job spec is given,
all processes in that job's pipeline are waited for. If n is not
given, all currently active child processes are waited for, and the
return status is zero. If n specifies a non-existent process or job,
the return status is 127. Otherwise, the return status is the exit
status of the last process or job waited for.
이 맨 페이지의 해당 부분을 읽음으로써 wait &
"백그라운드에서" 현재 활성화 된 모든 자식 프로세스가 대기하고 반환 상태가 0 이되도록 자동으로 확인합니다 . 이 해석에서 내가 맞습니까? 이것은 일반적이고 유용한 관용구입니까?
추가 컨텍스트를 위해 스크립트에서 다음과 같은 사용법에 대해 이야기하고 있습니다.
for file in `ls *.txt ; wait &`
do
...
[cp instructions]
...
[mv instructions]
...
[mailx instruction]
done