![쉘 구문: 줄 바꿈에 \를 올바르게 사용하는 방법은 무엇입니까? [복사]](https://linux55.com/image/87771/%EC%89%98%20%EA%B5%AC%EB%AC%B8%3A%20%EC%A4%84%20%EB%B0%94%EA%BF%88%EC%97%90%20%5C%EB%A5%BC%20%EC%98%AC%EB%B0%94%EB%A5%B4%EA%B2%8C%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
나는 목록의 줄을 감싸는 적절한 방법이 다음과 같을 것이라고 생각하곤 했습니다.
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
목표는 명확한 가독성입니다.