의 용도는 무엇입니까? 한 줄 명령으로?

의 용도는 무엇입니까? 한 줄 명령으로?

;다음과 같은 한 줄 스크립트에서 의미하는 바 는 무엇입니까 ?

while true; do sudo -n true; sleep 60; kill -0 '$$' || exit; done 2>/dev/null &

새 줄을 의미합니까, 아니면 "다음 명령"을 의미합니까?

답변1

명령 구분 기호입니다. 하지만 일단은 진술을 마무리한다고 생각하는 것이 더 나을 수도 있다 while.

예를 들어, 일부 명령이 성공을 반환하는 동안 루프를 수행하려면 다음과 같이 하면 됩니다.

while test -f /foo; do some_command; done`

세미콜론은 에 대한 인수의 끝을 나타내는 데 사용됩니다 test. 그렇지 않으면 그것이 do에 대한 또 다른 주장이라고 생각할 것입니다 test.

그러나 세미콜론 대신 개행 문자를 사용할 수 있습니다. 다음은 세미콜론 없이 위의 예와 정확히 동일합니다.

while test -f /foo
do
some_command
done

실제로 bash를 사용하여 위 명령을 실행한 다음 완료된 후(또는 Ctrl+C를 사용하여) 기록으로 돌아가면(위쪽 화살표 키 등) 여러 줄이 대체된 것을 볼 수 있습니다. 대신 세미콜론을 사용하는 명령을 사용하세요.


그렇습니다. 정상적인 쉘 동작 if과 같은 구문을 사용합니다. 저는 개인적으로 구문이 이상해 보이기 때문에 항상 이상하다고 생각했습니다. 그러나 당신은 그것에 익숙해집니다.while
do

관련 정보