bash使用時のシングルクォーテーションとダブルクォーテーションの違いについて

今日の業務中にRESTコマンドを叩くBashスクリプトを書いていた際に、少し手間取った箇所があったので戒めとして残します。
まぁ簡潔に言えば、Bashスクリプト内の「"」と「'」の動作の違いを知らなかったと言うお話です。

分かりやすい様にサンプルコードを用意してみました。

localuser$ cat test.sh 
test="pwd"
echo "$test"
echo '$test'
echo `$test`
localuser$ sh test.sh 
pwd
$test
/Users/
localuser$ 

変数testをechoで画面出力する方法として、変数testを「"」「'」「`」の3種類で囲い実行してみた結果です。
結果は見ての通り、「"」は変数の中身を出力、「’」は文字列として出力、最後の「`」は変数の中身をコマンドとして実行しています。
とても勉強になりました。これでもう間違えない!