![쉘 스크립트에서 여러 줄 명령을 주석 처리하는 방법은 무엇입니까?](https://linux55.com/image/42703/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%97%AC%EB%9F%AC%20%EC%A4%84%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%A3%BC%EC%84%9D%20%EC%B2%98%EB%A6%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
많은 스위치가 필요한 긴 명령을 호출할 때는 쉘 스크립트로 작성하는 것이 가장 좋습니다. 그러한 스크립트에서 행을 주석 처리하는 쉬운 방법이 있습니까? 나는 다음을 시도했지만 그 중 아무것도 작동하지 않습니다.
# 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
답변4
문제는 행이 구문 분석되기 전에 슬래시가 제거되므로 첫 번째 명령이 작성한 것처럼 구문 분석된다는 것입니다 command #--bad-switch --good-switch
. 긴 명령 시퀀스가 있는 경우 다음과 같이 작성할 수 있습니다.한 줄씩 주석 블록위나 아래에는 각 매개변수가 차례로 설명되어 있거나 매개변수를 변수에 저장할 수 있습니다(이렇게 하면 특수 문자 인용으로 인해 골치 아픈 일이 자주 발생하지만).