アーシの毎日インプット

毎日1つ以上学習する。学習した内容を公開する。を目標に自分のスキルアップを目指します。

echoの""と''の違い

スポンサードリンク

今まであまり意識していませんでしたが、linuxシェルのechoコマンドで囲み文字に""(ダブルクォーテーション)を使うか''(シングルクォーテーション)を使うかで処理が変わる事に気付きました。

 

echoコマンドとはlinuxにおける文字列出力のコマンドです。

 

例えば、「TEST.sh」という名前のシェルを作成し、""(ダブルクォーテーション)と''(シングルクォーテーション)の差を見るために①②のように文字列出力を定義します。

 


echo "$1"

 


echo '$1'

 

そして、「./TEST.sh aaa」のコマンドでシェルを実行する場合、実行結果はそれぞれ下記のようになります。

 

①の実行結果
aaa

 

②の実行結果
$1

 

""(ダブルクォーテーション)で文字列を囲った場合は変数相当の文字列に変数の値が代入されるのに対し、''(シングルクォーテーション)で文字列を囲った場合は変数相当の文字列が文字としてそのまま出力されます。

 

この""(ダブルクォーテーション)と''(シングルクォーテーション)の差ってシェルを作る際はechoコマンド以外にも影響しそうな気がします・・・

 

私はシェルを作成する際はいつも無意識に""(ダブルクォーテーション)を使用していましたが、今後シェルを作る際は囲み文字を意識するようにします。

【アーシの原点】

【頭を鍛える迷路集】


スポンサードリンク