쉘 스크립트에서 코드 블록을 주석 처리하는 간단한 방법이 있습니까?
답변
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
, ksh
와 zsh
.
주석 처리 할 코드 블록은 다음 BEGINCOMMENT
과 ENDCOMMENT
같이 넣을 수 있습니다 .
[ -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에서 :
- 댓글을 남기고 싶은 첫 번째 줄로 이동
shift-V
(시각 모드 입력), 블록의 하이라이트 라인- 선택시 다음을 실행하십시오.
:s/^/#/
-
명령은 다음과 같습니다.
:'<,'>s/^/#
-
엔터를 치다
예 :
shift-V
jjj
:s/^/#
<enter>