今まであまり意識していませんでしたが、linuxシェルのechoコマンドで囲み文字に""(ダブルクォーテーション)を使うか''(シングルクォーテーション)を使うかで処理が変わる事に気付きました。
echoコマンドとはlinuxにおける文字列出力のコマンドです。
例えば、「TEST.sh」という名前のシェルを作成し、""(ダブルクォーテーション)と''(シングルクォーテーション)の差を見るために①②のように文字列出力を定義します。
①
echo "$1"
②
echo '$1'
そして、「./TEST.sh aaa」のコマンドでシェルを実行する場合、実行結果はそれぞれ下記のようになります。
①の実行結果
aaa
②の実行結果
$1
""(ダブルクォーテーション)で文字列を囲った場合は変数相当の文字列に変数の値が代入されるのに対し、''(シングルクォーテーション)で文字列を囲った場合は変数相当の文字列が文字としてそのまま出力されます。
この""(ダブルクォーテーション)と''(シングルクォーテーション)の差ってシェルを作る際はechoコマンド以外にも影響しそうな気がします・・・
私はシェルを作成する際はいつも無意識に""(ダブルクォーテーション)を使用していましたが、今後シェルを作る際は囲み文字を意識するようにします。