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