많은 스위치가 필요한 긴 명령을 호출할 때는 쉘 스크립트로 작성하는 것이 가장 좋습니다. 그러한 스크립트에서 행을 주석 처리하는 쉬운 방법이 있습니까? 나는 다음을 시도했지만 그 중 아무것도 작동하지 않습니다.
# 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
. 긴 명령 시퀀스가 있는 경우 다음과 같이 작성할 수 있습니다.한 줄씩 주석 블록위나 아래에는 각 매개변수가 차례로 설명되어 있거나 매개변수를 변수에 저장할 수 있습니다(이렇게 하면 특수 문자 인용으로 인해 골치 아픈 일이 자주 발생하지만).