Linux環境での引用符の使い分けって、改めて考えてみると結構あいまいだったりします。基本的知識ではありますが、整理しておきたいと思います。
目次
「’」単一引用符(シングルクォーテーション)
単一引用符の中は、全て文字列として解釈されます。
# echo $PWD
/home/hoge
#echo '$PWD'
$PWD
「”」二重引用符(ダブルクォーテーション)
二重引用符の中は、変数があれば内容が展開され、展開させたくない場合はエスケープ文字「\(バックスラッシュ)」を使用します。バックスラッシュ直後の文字は、通常の文字とみなされます。
Memo
バックスラッシュは、日本語環境では「\」として表示されます。
# echo $PWD
/home/hoge
# echo "カレントディレクトリは、$PWDです。"
カレントディレクトリは、/home/hogeです。
# echo "\$PWDの値は、$PWDです。"
$PWDの値は、/home/hogeです。
「`」バッククォーテーション
バッククォーテーションの中は、コマンドがあればコマンドの実行結果を展開し、変数があれば、変数に格納されているコマンドを実行した結果を展開します。
# echo "カレントディレクトリは、`pwd`です。"
カレントディレクトリは、/home/hogeです。
あとがき
引用符ごとの違いをまとめると以下のようになります。
# DATE=date
# echo $DATE
date
# echo '$DATE'
$DATE
# echo "$DATE"
date
# echo `$DATE`
2018年 4月 19日 木曜日 04:56:49 JST
ネットを調べれば同じ内容の記事は、正直腐るほどありますが自分で記事にまとめてみると以外と頭に入ります。