いろいろ備忘録日記

主に .NET とか Go とか Python絡みのメモを公開しています。

シェルスクリプトで複数行のコメントアウト (bash)

概要

小ネタ。よく忘れるのでメモメモ。知ってるとちょっと便利です。

シェルスクリプトでのコメントアウトは # ですが、複数行を一気にコメントアウトしたい場合に毎行に # を付与していくのはちょっとめんどくさい。。コメント解除するときもめんどくさい。。

ってときがあったら以下のようにすると便利かもしれません。

:<<'#COMMENT_OUT'



#COMMENT_OUT

: コマンドは何もしないコマンドです。それにヒアドキュメントでコメントアウトしたい部分をかぶせてやります。

#COMMENT_OUT の部分は好きに定義できます。

サンプル

#!/usr/bin/env bash

#
# 複数行のコメントアウト
# 
# : コマンドとヒアドキュメントを利用して指定範囲を纏めてしまう
#
echo '1'

# 複数行をコメントアウト状態にする
# 解除したい場合は 下の行の先頭に # を付与すれば良い
:<<'#COMMENT_OUT'
echo '2'
echo '3'
#COMMENT_OUT

echo '4'

実行すると以下のようになります。

gitpod /workspace/try-shellscript $ make
ENTER EXAMPLE NAME: comment_m

[INPUT ] comment_m
[TARGET] comment_multiline
[SCRIPT] basic/comment/multiline_commentout.sh

===== START [basic/comment/multiline_commentout.sh] =====
1
4
===== END   [basic/comment/multiline_commentout.sh] =====

DONE

過去の記事については、以下のページからご参照下さい。

  • いろいろ備忘録日記まとめ

devlights.github.io

サンプルコードは、以下の場所で公開しています。

  • いろいろ備忘録日記サンプルソース置き場

github.com

github.com

github.com