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種類で囲い実行してみた結果です。
結果は見ての通り、「"」は変数の中身を出力、「’」は文字列として出力、最後の「`」は変数の中身をコマンドとして実行しています。
とても勉強になりました。これでもう間違えない!