メタ文字
シェルには、特殊な意味を持つ予約されている記号(メタ:meta文字)がある。
このメタ文字は、忘れがちなので、以下に列挙して置く。
“, $, @, &, ‘, (, ), ^, |, [, ], {, }, ;, *, ?, <, >, `, \, スペース,改行、タブといったエスケープ・シーケンス
また、メタ文字を表示させたい場合は、メタ文字の前にバック・スラッシュ”\”をつける。
例
$ echo A\&B\ :\ \$10
A&B : $10
このメタ文字に気をつけないと、誤った動作になってしまうことがままある。
メタ文字を多数利用すると、バック・スラッシュが数多く使われることになり、スクリプトが読みにくくなる。バック・スラッシュの代わりに、シングル・クォーテーション(’)記号でくくれば、スクリプトをスッキリと表記できる。例えば、上の例は、
$ echo ‘A&B : $10′
A&B : $10
とすればよい。
なお、シングル・クォーテーションのみは、特殊な意味を持っているためシングル・クォーテーション内にシングル・クォーテーションを記述することはできない。
ダブル・クォーテーション(”)でくくられた場合も、メタ文字は特殊な意味を持たなくなる。ただし、以下のメタ文字については特殊な意味を保持しつづける。
“, $, `, \
以上の点を頭に入れて、スクリプトを書く必要がある。