"\"를 사용하여 쉘 명령을 다른 줄로 분할한 후 주석 처리하는 방법이 있습니까? [복사]

"\"를 사용하여 쉘 명령을 다른 줄로 분할한 후 주석 처리하는 방법이 있습니까? [복사]

나는 아치와 배쉬를 사용하고 있습니다. 모든 것이 최신 상태입니다.

이 명령이 있는데 잘 작동합니다

yad \
--timeout=2 \
--undecorated \
--posx=1200 --posy=633 \
--title=" " \
--window-icon='/home/$USER/.local/share/file-manager/spanner_white.png' \
--no-buttons \
--no-focus \
--text="All print jobs cancelled"; # This is a comment

;분명히 표시된 대로 명령이 끝난 직후에 주석을 달 수 있습니다.

그런데 댓글이 끝날 때마다 댓글을 게시할 수 있는 방법이 있나요? \
그렇지 않은 것 같지만 어떻게 해야 할지 모르겠습니다.

이 작업을 수행할 수 없는 경우 또는 다른 쉘을 bash사용하여 수행할 수 있습니다 .zsh

답변1

아니요, 줄 끝의 백슬래시는 개행 문자인 다음 문자에 적용됩니다(제거). 공백과 문자를 추가하면 #백슬래시는 개행 문자가 아닌 공백(인용 부호)에 적용됩니다. 줄 끝에 주석을 추가할 수도 없습니다.그 다음에백슬래시 문자는 주석이 연속된 줄의 나머지 부분을 효과적으로 주석 처리하기 때문입니다.

당신이 할 수 있는 일은 인수에 대한 배열을 생성하고 실행 시 그 일부에 주석을 단 다음 이를 유틸리티 호출에 사용하는 것입니다.

yad_args=(
    # A timeout of 20 is used in testing; production uses 2.
    #--timeout=20
    --timeout=2
    --undecorated  # We don't want decorations.
    --posx=1200 --posy=633
    --title=" "   # Spacey title.
    --window-icon="${XDG_DATA_HOME:-$HOME/.local/share}"/file-manager/spanner_white.png
    --no-buttons
    --no-focus    # No focus for you!
    --text="All print jobs cancelled"
)

yad "${yad_args[@]}"

배열의 각 요소를 선언할 때 줄 끝에 주석을 추가할 수 있습니다 yad_args.

그럴 때 참고하세요사용호출 중인 어레이 yad, 확장됨위에 표시된 대로 정확하게 인용해야 합니다.그렇지 않으면 공백 및/또는 파일 이름 와일드카드 문자가 포함된 배열 요소에 문제가 발생합니다.

관련 정보