Sunwait은 특정 명령을 실행하기 전에 천문 현상이 발생하기를 기다리는 바이너리입니다.
구문을 검토 한 후에이 해석이 잘못되었다고 생각합니다. 귀하의 예에서 sunwait
실제로 아무런 명령도 실행되지 않습니다. 나는 익숙하지 않다. sunwait
그러나 빠른 연구는 천문학적 인 사건을 기다리고 나서 끝내는 것이라고 나에게 계시했다.
귀하의 경우 그것은 이렇게 간다 :
- 셸이 줄을 읽고 세미콜론을 만난다.
;
그 시점까지 모든 것을 실행합니다. sunwait
명령 줄 옵션이 있습니다.
- 쉘은
sunwait
끝내기 위해.
- 결국
sunwait
완료되면 셸이 다음으로 진행됩니다. mycommand
앰퍼샌드 때문에 백그라운드에서 실행합니다. &
.
따라서 질문에 대한 직접적인 대답이 가장 일반적입니다. 그것이 작동하고 있기 때문에 (당신이 원하는 것을하고있는 것이 아니라) "일하는"것이 아닙니다.
고치다:
어느 한 쪽 { /root/bin/sunwait sun up -0:00:00 54.453158N 11.013071E; mycommand; } &
또는 /root/bin/sunwait sun up -0:00:00 54.453158N 11.013071E && mycommand &
첫 줄에는 두 개의 명령이 있습니다. {}
보이는 &
하나의 명령 인 것처럼, 모든 것이 백그라운드로 간다. 간단하고 자주 좋은. 두 번째 경우는 약간 다릅니다. mycommand
다음과 같은 경우에만 실행됩니다. sunwait
오류없이 끝난다. sunwait
잘못 코딩 됨). 그것은 당신이 처음에 기대했던 행동입니다, 그렇죠?. 개인적으로 두 번째 픽스는 좀 더 우아합니다. 실수로 입력 한 것을 상상해보십시오. mycommand
그리고 시시한 폭탄이라고 잠시 깨달았습니다. 죽이는 sunwait
1 차 시나리오에서 폭탄을 발사하고 2 차에서 폭탄을 터뜨릴 것입니다.