シェル備忘録

シェルが行う置換処理

  1. 変数置換
  2. ファイル名置換
  3. コマンド置換


【引用】シェルが行う置換を制限する機能。引用すると変数名やファイル名の置換、文字列間にある空白の置換(空白が複数ある場合、一つに置換される)が行われなくなる。


引用符にはいくつかの種類があり、置換を制限する機能に違いがある。

  • シングルクォート('):単一引用符。最強の引用符である。単一引用符に挟まれた部分ではあらゆる特殊文字が評価されない。よって置換も行われない。
  • ダブルクォート("):二重引用符。二重引用符に囲まれた部分では、$、バックスラッシュ、バッククォート、の3つだけが評価される。また通常、空白文字は単語と単語の区切りとして扱われるためシェルが文字列を評価する過程で一旦取り除かれる訳だが、二重引用符はこれを妨げる機能がある。つまり、二重引用符に囲まれた文字列中の空白文字はそのまま文字列として評価される。
$ STR="aaa   bbb   ccc"
$ echo $STR
aaa bbb ccc
$ echo "$STR"
aaa   bbb   ccc
  • バックスラッシュ(\):後ろに続く一文字の特殊効果を打ち消す。


うーん、奥が深い