[shell] 쉘 스크립트에서 주석 차단

쉘 스크립트에서 코드 블록을 주석 처리하는 간단한 방법이 있습니까?



답변

bash에서 :

#!/bin/bash
echo before comment
: <<'END'
bla bla
blurfl
END
echo after comment

''주위에 END구분 기호, 예를 들면, 같은 블록 안에 다른 것들을 중요 $(command)구문 분석 및 실행됩니다.

에 대한 설명을 참조하십시오 질문을.


답변

쉘 스크립트에는 블록 주석이 없습니다.

vi(yes, vi)를 사용하면 n 행 에서 m 행까지 쉽게 주석을 달 수 있습니다

<ESC>
:10,100s/^/#/

(10 기호에서 100 기호로 대체 줄 시작 (^)을 # 기호로 읽습니다.)

댓글을 달지 않은 상태

<ESC>
:10,100s/^#//

(10 줄에서 100 줄의 대체 줄 시작 (^) 다음에 #가 붙은 #을 읽습니다.)

vi어디에나 거의 보편적입니다 /bin/sh.


답변

당신이 사용할 수있는:

if [ 1 -eq 0 ]; then
  echo "The code that you want commented out goes here."
  echo "This echo statement will not be called."
fi


답변

다음은 작동한다 sh, bash, kshzsh.

주석 처리 할 코드 블록은 다음 BEGINCOMMENTENDCOMMENT같이 넣을 수 있습니다 .

[ -z $BASH ] || shopt -s expand_aliases
alias BEGINCOMMENT="if [ ]; then"
alias ENDCOMMENT="fi"

BEGINCOMMENT
  echo "This line appears in a commented block"
  echo "And this one too!"
ENDCOMMENT

echo "This is outside the commented block"

위의 코드를 실행하면 다음과 같은 결과가 발생합니다.

This is outside the commented block

주석 처리 된 코드 블록 을 주석 해제 하려면

alias BEGINCOMMENT="if : ; then"

대신에

alias BEGINCOMMENT="if [ ]; then"

위의 예에서.


답변

작은 따옴표를 피할 수 있다면 :

__='
blah blah comment.
'


답변

: '열고 '닫을 때 사용 합니다 .

예를 들면 다음과 같습니다.

: '
This is a
very neat comment
in bash
'

이것은 Vegas에서 찾은 예입니다 .


답변

Vim에서 :

  1. 댓글을 남기고 싶은 첫 번째 줄로 이동
  2. shift-V (시각 모드 입력), 블록의 하이라이트 라인
  3. 선택시 다음을 실행하십시오. :s/^/#/
  4. 명령은 다음과 같습니다.

      :'<,'>s/^/#
  5. 엔터를 치다

예 :

shift-V
jjj
:s/^/#
<enter>