シェルスクリプトのコメントは#ですが、#を利用した場合、コメントしたい範囲全てに記述する必要があり面倒です。
C言語やPHPなどの/* */に相当する範囲のコメントアウトをシェルスクリプトで実現する方法を以下に記述します。
尚、利用したディストリビューションはCentOS, シェルはbashを利用しています。
ヒアドキュメントで指定した範囲は通常catコマンドなどに渡したりして利用しますね。
以下、端末から直接入力し実行した例です。
$ cat <<EOS > hello > world > EOS hello world
今回、シェルスクリプトで複数行のコメントアウトを実現するにあたり、ヒアドキュメントを利用します。
上記の例ではcatを利用しましたが、複数行のコメントアウトを実現する場合、:を利用します。
:はヌルコマンドといいます。何も処理をせず、真を返却します。
#!/bin/bash echo 1 : <<'#COMMENT' echo 2 echo 3 echo 4 #COMMENT echo 5
$ chmod +x comment.sh $ ./comment.sh 1 5
つまり、:(ヌルコマンド)にヒアドキュメント指定した部分を渡しているので何もしない=コメントアウトされていることになります。