Linuxコマンドで利用できる引用符の種類と使い分け方

Linuxコマンドで利用できる引用符の種類と使い分け方

Linux環境での引用符の使い分けって、改めて考えてみると結構あいまいだったりします。基本的知識ではありますが、整理しておきたいと思います。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
CentOS Linux7.4.1708

「’」単一引用符(シングルクォーテーション)

単一引用符の中は、全て文字列として解釈されます。

# 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

ネットを調べれば同じ内容の記事は、正直腐るほどありますが自分で記事にまとめてみると以外と頭に入ります。