Last Update 2022/06/06
コメント
テスト概要
コメント行が含まれるファイルの実行
シェルオプションinteractive_commentsの設定に関する動作比較
コメント行が含まれるファイルの実行
サンプルスクリプトファイル
sample.sh
#!/bin/bash
#行頭にコメント文字が記述されたコメント行
echo "例01 行頭にコメント文字が記述されたコメント行"
echo
echo "例02 二重引用符間に #が記述された行"
echo
echo '例03 単一引用符間に #が記述された行'
echo
echo 例04 行の途中に#が記述されたコメント行
echo
echo 行の途中の単語の1文字目に #が記述されたコメント行
echo "例05 行の途中の単語の1文字目に #が記述されたコメント行"
echo
#行の途中に「\\改行」を含むコメント行 \
echo 2行目
echo "例06 行の途中に「\\改行」を含むコメント行"
実行結果
$ ./sample.sh
例01 行頭にコメント文字が記述されたコメント行
例02 二重引用符間に #が記述された行
例03 単一引用符間に #が記述された行
例04 行の途中に#が記述されたコメント行
行の途中の単語の1文字目に
例05 行の途中の単語の1文字目に #が記述されたコメント行
2行目
例06 行の途中に「\改行」を含むコメント行
$
例01 コメント行は行頭から出力されない
例02 二重引用符間の#はコメント効果無し
例03 単一引用符間の#はコメント効果無し
例04 単語の先頭以外の#はコメント効果無し
例05 単語の先頭が#の場合、以降行末までがコメント
例06 エスケープ文字で改行してもコメントは継続しない
シェルオプションinteractive_commentsの設定に関する動作比較
シェルオプションinteractive_commentsが設定されている場合
$ shopt -p interactive_comments <--- 現在の設定値の確認
shopt -s interactive_comments <--- 「-s」は設定済み
$ # echo abc
$ echo abc; #echo def
abc
$
コメントが有効
シェルオプションinteractive_commentsが未設定の場合
$ shopt -u interactive_comments <--- 未設定に変更
$ # echo abc
-bash: #: command not found
$ echo abc; #echo def
abc
-bash: #echo: command not found
$ shopt -s interactive_comments <--- 設定済みに戻す
$
コメントが無効となり#でエラーが発生
実行環境
GNU bash, version 5.1.16
コード例・出力内容中の表記
・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「︙」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。
・「︙」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。