![sudo는 모든 UNIX 계열 시스템에서 백슬래시 뒤의 문자를 처리합니까? - 긴 줄을 끊는 데 사용됩니다.](https://linux55.com/image/66007/sudo%EB%8A%94%20%EB%AA%A8%EB%93%A0%20UNIX%20%EA%B3%84%EC%97%B4%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90%EC%84%9C%20%EB%B0%B1%EC%8A%AC%EB%9E%98%EC%8B%9C%20%EB%92%A4%EC%9D%98%20%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EC%B2%98%EB%A6%AC%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20-%20%EA%B8%B4%20%EC%A4%84%EC%9D%84%20%EB%81%8A%EB%8A%94%20%EB%8D%B0%20%EC%82%AC%EC%9A%A9%EB%90%A9%EB%8B%88%EB%8B%A4..png)
일반적으로 긴 명령/줄 끝에 "\"를 넣어 여러 줄로 나눌 수 있습니다.
sudoers 구문에서는 이것도 허용합니다. 괜찮습니다.
하지만:
"\" 문자 뒤에 "공백"이 있으면 명령/스크립트가 중단됩니다.하지만 sudo는 그렇지 않습니다..
질문: sudo가 모든 UNIX 계열 시스템에서 "\" 뒤에 공백을 허용한다는 것이 공식적으로(그리고 어디에 문서화되어 있습니까) 있습니까?
명령 예:
일반 백슬래시:
$ echo a; \
> echo b
a
b
백슬래시 뒤에 공백이 추가됩니다.
$ echo a; \
a
bash: : command not found
$
답변1
\
동작은 다양한 애플리케이션에서 처리되므로 컨텍스트에 따라 달라집니다 .
sudoers 파일은 .so sudo
에서 가져온 것이므로 sudo
구현에 따라 다릅니다 sudo
.가능한시스템에 따라 다릅니다. 예를 들어 OSX에서는 다음과 같습니다 man sudoers
.
긴 줄은 마지막 줄에 백슬래시('\')를 사용하여 계속될 수 있습니다. 특징온라인.
설명하는 다른 동작은 다음 bash
에서 처리되고 기록 됩니다 man bash
.
\<newline>
쌍이 발생하고 백슬래시 자체가 따옴표로 묶이지 않으면 줄\<newline>
연속으로 처리됩니다(즉, 입력 스트림에서 제거되어 사실상 무시됩니다).
다른 쉘은 다른 구현을 가질 수 있습니다.