다중 줄 명령에 줄 주석을 다는 방법
Bash 스크립트에서 다중 행 명령을 작성하는 방법을 알고 있지만 다중 행 명령에서 각 행에 대한 주석을 추가하려면 어떻게 해야 합니까?
CommandName InputFiles \ # This is the comment for the 1st line
--option1 arg1 \ # This is the comment for the 2nd line
--option2 arg2 # This is the comment for the 3nd line
그런데 아쉽게도 계속해서 댓글이.\
명령을 어길 것입니다.
이렇게 하는 거예요.기본적으로 Bash의 backtick 명령 대체를 사용하면 여러 줄로 나뉘어 있더라도 긴 명령줄을 따라 어디에나 이러한 주석을 배치할 수 있습니다.echo 명령어를 예제 앞에 놓아서 예제를 실행하고 작동 방식을 확인할 수 있습니다.
echo CommandName InputFiles `#1st comment` \
--option1 arg1 `#2nd comment` \
--option2 arg2 `#3rd comment`
한 줄에 서로 다른 점에 여러 개의 주석을 추가할 수 있는 또 다른 예:
some_cmd --opt1 `#1st comment` --opt2 `#2nd comment` --opt3 `#3rd comment`
인수를 배열에 저장할 수 있습니다.
args=(InputFiles # This is the comment for the 1st line
# You can have whole lines of comments in between, useful for:
#--deprecated-option # This isn't use any more
--option1 arg1 # This is the comment for the 2nd line
# And even blank lines in between for readability
--option2 arg2 # This is the comment for the 3nd line
)
CommandName "${args[@]}"
하지만 이것이 각 주장에 대한 의견을 허용하기 위한 목적으로만 사용된다면 약간 진부해 보인다고 생각합니다.따라서 저는 개별 인수를 참조하도록 주석을 다시 작성하고 전체 명령 위에 놓았습니다.
유감스럽게도, 일반적으로, 당신은 당신이 요구하는 것을 할 수 없습니다.명령 앞 줄에 주석을 달거나 명령 줄 끝에 단일 주석을 달거나 명령 뒤에 주석을 달 수 있습니다.
이런 식으로 명령어 내부에 주석을 삽입할 수는 없습니다.그\
s는 줄을 병합하려는 의도를 표현하므로 모든 의미와 목적에 대해 하나의 줄에 주석을 삽입하려고 합니다. 이는 어쨌든 작동하지 않습니다. 왜냐하면\
그 효과를 얻으려면 줄의 끝에 있어야 합니다.
이 질문에 대한 다른 답변에 대한 pjh의 코멘트를 기반으로 대체IFS
공백이 아닌 문자를 포함하지 않는 것으로 알려진 변수가 있습니다.
comment=
who ${comment# This is the command} \
-u ${comment# This is the argument}
매개 변수 확장이 인용되지 않는 이유는 무엇입니까?변수가 빈 문자열로 초기화됩니다.파라미터 확장이 발생하면,#
연산자(셸 주석 문자에 추가됨)#
유사성에 사용됨) 매개 변수 값에서 실제 주석을 제거하려고 시도합니다.물론 결과는 여전히 빈 문자열입니다.
따옴표로 묶이지 않은 매개 변수 확장은 단어 분할 및 경로 이름 생성을 거칩니다.이 경우 두 프로세스 모두 빈 문자열에서 추가 단어를 만들지 않으므로 결과는 여전히 빈 문자열입니다.이러한 빈 문자열은 표시되는 명령에 영향을 주지 않고 삭제됩니다.위의 내용은 정확히 다음과 같습니다.
who \
-u
언급URL : https://stackoverflow.com/questions/9522631/how-to-put-a-line-comment-for-a-multi-line-command
'programing' 카테고리의 다른 글
이클립스의 바인딩되지 않은 클래스 경로 컨테이너 (0) | 2023.05.05 |
---|---|
예약된 작업을 실행하는 가장 좋은 방법 (0) | 2023.05.05 |
인쇄되지 않은 배시 세트 +x (0) | 2023.05.05 |
Xcode 프로비저닝 프로파일 위치 (0) | 2023.05.05 |
TypeError: 'str'이 아닌 바이트와 같은 개체가 필요합니다. (0) | 2023.05.05 |