쉘 스크립트에서 여러 줄 명령을 주석 처리하는 방법은 무엇입니까?

쉘 스크립트에서 여러 줄 명령을 주석 처리하는 방법은 무엇입니까?

많은 스위치가 필요한 긴 명령을 호출할 때는 쉘 스크립트로 작성하는 것이 가장 좋습니다. 그러한 스크립트에서 행을 주석 처리하는 쉬운 방법이 있습니까? 나는 다음을 시도했지만 그 중 아무것도 작동하지 않습니다.

# the \ is also commented out, resulting in "command" and "--good-switch".
command \
  #--bad-switch \
  --good-switch \

# seems to send an extra argument to the command
command \
  \ #--bad-switch \
  --good-switch

답변1

이것은 옵션일 수 있습니다. 명령과 인수를 배열에 저장한 다음 실행합니다.

# build the command
cmd=( ls
        -F
      # -a   # comment out this option temporarily
        -l
    )
# $cmd is now an array with 3 elements

# execute it
"${cmd[@]}"

답변2

나는 항상 명령 다음에 주석 내용을 이동합니다.

command \
  --good-switch
# --bad-switch          with explanation here, if needed

답변3

보다디지털 로스의 답변.

방금 게시한 질문도 참조하세요.연속 문자 뒤에 주석이 있는 bash 여러 줄 명령.

이것은 유용한 기능이 될 것입니다. 불행히도 표준 지원이 없습니다.

답변4

문제는 행이 구문 분석되기 전에 슬래시가 제거되므로 첫 번째 명령이 작성한 것처럼 구문 분석된다는 것입니다 command #--bad-switch --good-switch. 긴 명령 시퀀스가 ​​있는 경우 다음과 같이 작성할 수 있습니다.한 줄씩 주석 블록위나 아래에는 각 매개변수가 차례로 설명되어 있거나 매개변수를 변수에 저장할 수 있습니다(이렇게 하면 특수 문자 인용으로 인해 골치 아픈 일이 자주 발생하지만).

관련 정보