쉘 스크립트에서 주석 차단
쉘 스크립트에서 코드 블록을 주석 처리하는 간단한 방법이 있습니까?
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.
'
Vim에서 :
- 댓글을 남기고 싶은 첫 번째 줄로 이동
shift-V
(시각 모드 입력), 블록의 하이라이트 라인- 선택시 다음을 실행하십시오.
:s/^/#/
명령은 다음과 같습니다.
:'<,'>s/^/#
엔터를 치다
예 :
shift-V
jjj
:s/^/#
<enter>
Vi / Vim의 Visual Block 모드는 다음과 같은 것을 위해 설계되었습니다 :
Ctrl-V
Highlight first element in rows you want commented
Shift-i
#
esc
주석 해제는 다음과 같습니다.
Ctrl-V
Highlight #'s
d
l
이것은 행 번호를 세거나 읽지 않고 이런 종류의 일을하는 vi의 대화 형 방법입니다.
마지막으로 Gvim에서는 ctrl-q를 사용하여 ctrl-v 대신 Visual Block 모드로 들어갑니다 (붙여 넣기 바로 가기이기 때문에).
sunny256의 대답에 대한 here-doc 트릭의 변형은 주석에 Perl 키워드를 사용하는 것입니다. 주석이 실제로 일종의 문서 인 경우 주석이 달린 블록 내에서 Perl 구문을 사용하여 멋진 형식으로 인쇄하고 맨 페이지로 변환하는 등의 작업을 수행 할 수 있습니다.
쉘에 관한 한으로 만 교체 'END'
하면 '=cut'
됩니다.
echo "before comment"
: <<'=cut'
=pod
=head1 NAME
podtest.sh - Example shell script with embedded POD documentation
etc.
=cut
echo "after comment"
( " 쉘 스크립트에 문서 포함 "에 있음)
너무 많은 엔지니어링 ...
수동 코드를 생성하기 위해 활성 코드를 작성하는 것은 실제로 나쁜 습관이라고 생각합니다.
내 해결책 : 대부분의 편집자는 블록 선택 모드를 가지고 있습니다. 주석을 달려는 모든 행에 #을 추가하기 위해 사용하십시오. 큰 문제는 무엇입니까 ...
메모장 예 :
만들려면 : Alt-아래로 마우스 드래그, #을 누르십시오.
삭제하려면 : Alt 키를 누른 상태에서 마우스 오른쪽 아래로 이동하고 오른쪽 화살표를 누른 다음 삭제하십시오.
: '
열고 '
닫을 때 사용 합니다 .
예를 들면 다음과 같습니다.
: '
This is a
very neat comment
in bash
'
이것은 베가스의 예에서 나온 것입니다.
다른 모드는 다음과 같습니다. 편집기에 블록 없음 주석 옵션이있는 경우
- 편집기의 두 번째 인스턴스를여십시오 (예 : File => New File ...).
- 작업중인 이전 파일에서 원하는 부분 만 선택하십시오.
- 새 임시 파일의 창에 복사하여 붙여 넣습니다 ...
- 편집 메뉴를 열고 바꾸기를 선택한 다음 '\ n'으로 바꿀 문자열로 입력하십시오.
- 대체 문자열로 입력 : '\ n #'
- '모두 바꾸기'버튼을 누르십시오
끝난
그것은 모든 편집기에서 작동합니다
참고 URL : https://stackoverflow.com/questions/947897/block-comments-in-a-shell-script
'IT story' 카테고리의 다른 글
문자열이 유효한 HTTP URL인지 확인하는 방법은 무엇입니까? (0) | 2020.04.20 |
---|---|
자바 스크립트에서 문자열이 목록에 있는지 확인 (0) | 2020.04.20 |
jQuery를 사용하여 페이지로드시 양식 입력 텍스트 필드에 집중하는 방법은 무엇입니까? (0) | 2020.04.20 |
Xcode 빌드 옵션의 영향 "비트 코드 사용"예 / 아니요 (0) | 2020.04.19 |
큰 MS SQL .sql 파일을 어떻게 가져 옵니까? (0) | 2020.04.19 |