01 / 06
2種類の引用符
引用符が2種類あるのを不思議に思ったことはないかな。ちゃんと違いがあるんだ。
~ $ echo 'a $HOME'a $HOME~ $ echo "a $HOME"a /home/manabiya同じものを囲んだのに、結果が違ったね。
| 囲み方 | シェルの振る舞い |
|---|---|
'...'(シングル) | 何も書きかえない。見たままを渡す |
"..."(ダブル) | $ は書きかえる。空白は守る |
| 囲まない | $ も * も書きかえ、空白で区切る |
覚え方はこうだよ。
シングル = 完全に守る(強い)ダブル = 空白だけ守る(ふつう)無し = 何も守らない(弱い)この章のはじめから言っている視点が、ここでも効くよ。書きかえているのはシェルなんだ。引用符は、そのシェルに向けた「触らないで」という合図だね。
そして引用符はコマンドには届かないよ。囲みの記号自体は、シェルが取り除いてから渡すんだ。