Linuxコマンド : 引用符の使い方

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

動作環境

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

cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

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

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

echo $PWD
/home/hoge
echo '$PWD'
$PWD

「"」二重引用符(ダブルクォーテーション)

二重引用符の中は、変数があれば内容が展開されます。展開させたくない場合はエスケープ文字「\(バックスラッシュ)」を使用します。バックスラッシュ直後の文字は、通常の文字とみなされます。

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

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

スポンサーリンク