나는 목록의 줄을 감싸는 적절한 방법이 다음과 같을 것이라고 생각하곤 했습니다.
command1 && \
command2
이는 사실이 아니며 그럴 필요도 없다는 것이 밝혀졌습니다.\
$ [ $(id -u) -eq 1000 ] &&
> echo yes
yes
파이프도 |
같은 방식으로 작동합니다.
Bash 매뉴얼 페이지의 파이프 및 목록 섹션에는 이에 대해 아무 것도 나와 있지 않습니다. 그래서 제 질문은: \
긴 줄을 끊는 올바른 사용법은 무엇입니까?
답변1
계속하지 않고 명령문이 올바른 경우 필수입니다 \
. 따라서 명령을 종료할 수 없으므로 다음은 백슬래시 없이 실행됩니다 &&
.
echo 1 &&
echo 2
여기에는 백슬래시가 필요합니다.
echo 1 2 3 \
4
또는
echo 1 \
&& echo 2
그렇지 않으면 bash는 다음 줄을 기다리지 않고 첫 번째 줄을 처리한 후 즉시 명령을 실행합니다.
답변2
제가 대규모 IT 회사에서 근무하는 동안 접한 스크립팅 스타일 가이드 중 하나는 쉘 스크립트에서 한 줄에 80자 이하를 사용하고 개행 뒤에 들여쓰기를 요구했습니다. 또한 파이프나 && 또는 || 앞에도 끊어야 합니다. 좋다:
command1 \
&& command2 \
|| command3 \
| command4
목표는 명확한 가독성입니다.