[student@h006 ~]$ ls a1 a2 a3 [student@h006 ~]$ echo a* # a* ではなく aで始まるファイル名に変換される a1 a2 a3しかしメタキャラクタを展開して欲しくない場合があります。 そこで a* は「 a で始まる全ファイル」ではなく、「 a* という文字列」であると 明示的にシェルに伝えるためにダブルコーテーション(") で括ります。
[student@h006 ~]$ echo "a*" a*このようにシェルに対して、入力文字の解釈を変更させることを クォーティショニングといいます。
クォーティションの種類 | 意味 |
---|---|
ダブル(") | ファイル名置換の抑制(変数名は置換) |
シングル(') | 何も置換しない。字面通り |
バック (`) | コマンドとして実行し、その結果と置換 |
[student@h006 ~]$ echo $HOME /home/student [student@h006 ~]$ ls $HOME Mail mail def.dat UnixWorld tdef.dat user.djl 【1】 [student@h006 ~]$ echo $HOME m* /home/yakoshi mail mtdef.dat 【2】 [student@h006 ~]$ echo "$HOME m*" /home/yakoshi m* 【3】 [student@h006 ~]$ echo '$HOME m*' $HOME m* 【4】 [student@h006 ~]$ echo Today is `date` Today is 2018年 7月 22日 日曜日 13:08:27 JST解説