일반적으로 긴 명령/줄 끝에 "\"를 넣어 여러 줄로 나눌 수 있습니다.
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>
연속으로 처리됩니다(즉, 입력 스트림에서 제거되어 사실상 무시됩니다).
다른 쉘은 다른 구현을 가질 수 있습니다.