줄 주석 문자 "#"과 쉘 스크립트의 실제 주석 시작 사이의 공백

줄 주석 문자 "#"과 쉘 스크립트의 실제 주석 시작 사이의 공백

주석의 파운드 기호와 실제 주석 사이에 공백이 있는 쉘 스크립트가 있습니다.

# 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.

구체적으로 말합니다모두# 뒤에 오는 문자는 무시됩니다.

개인적으로 # 뒤에 공백을 추가하는 것을 선호합니다.

관련 정보