주석의 파운드 기호와 실제 주석 사이에 공백이 있는 쉘 스크립트가 있습니다.
# a comment at the beginning of a line
echo foo # a comment trailing after a command
및 기타 사용할 수 없는 것
#another comment at the beginning of a line
echo bar #another comment trailing after a command
이 결정이 스크립트의 실제 실행에 영향을 미치나요, 아니면 코딩 스타일 문제인가요?
답변1
비문체적인 차이는 없습니다.POSIX 지정쉘에서 토큰을 인식할 때,
현재 문자가 "#"인 경우 해당 문자와 다음 <newline> 이전(포함하지 않음)의 모든 후속 문자는 주석으로 삭제됩니다. 줄을 끝내는 <newline>은 주석의 일부로 간주되지 않습니다.
답변2
나는 공백이 중요한 껍질을 모릅니다. 예를 들어 man bash
다음과 같습니다.
In a non-interactive shell, or an interactive shell in which
the interactive_comments option to the shopt builtin is enabled
(see SHELL BUILTIN COMMANDS below), a word beginning with #
causes that word and all remaining characters on that line to
be ignored.
구체적으로 말합니다모두# 뒤에 오는 문자는 무시됩니다.
개인적으로 # 뒤에 공백을 추가하는 것을 선호합니다.