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

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

困ったこと

一行のコメントは#でできるが、複数行のコメントはシェルスクリプトでは対応していないが、実現させたい。すなわちJavaにおける/* ソース */を実現したい。

環境

解決

:<<'#__COMMENT_OUT__’ ソース #__COMMENT_OUT__を利用する

コメントアウトなし

シェルスクリプト

#!/bin/sh
n=$1
f=0

i=1
while [ $i -le $n ]; do
  f=$((f + i))
  i=$((i + 1))
done

echo $f

実行結果

55

コメントアウトあり

シェルスクリプト

#!/bin/sh
n=$1
f=0
:<<'#__COMMENT_OUT__'

i=1
while [ $i -le $n ]; do
  f=$((f + i))
  i=$((i + 1))
done
#__COMMENT_OUT__

echo $f

実行結果

0

コメントアウトの無効化

シェルスクリプト

#!/bin/sh
n=$1
f=0
#:<<'#__COMMENT_OUT__'
i=1
while [ $i -le $n ]; do
  f=$((f + i))
  i=$((i + 1))
done
#__COMMENT_OUT__
echo $f

実行結果

55

参考

詳しい原理は以下を参照しくてください。 *  シェルスクリプトにおける複数行コメントアウト

以上