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

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

;다음과 같은 한 줄 스크립트에서 이는 무엇을 의미합니까?

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이상해 보이기 때문에 항상 이상하다고 생각했습니다. 그러나 당신은 그것에 익숙해 질 것입니다.

관련 정보