【bash】シングルクォートのエスケープ
問題
シェルスクリプトで、シングルクォーテーションの中でシングルクォーテーションを使うために、シングルクォーテーションをエスケープしたいです。
答え
シングルクォーテーションの中でシングルクォーテーションのエスケープはできないらしく、
シングルクォーテーションで囲んだ状態を終了することが必要とのこと。
例)123’456′ と出力したい
(ダメ) $ echo '123\'456\'' >
(OK) $ echo '123'\''456'\' 123'456'
echo ‘123’ と、単発の \’ と、’456′ と、単発の \’ を出力すると考える。
別の例。
(ダメ) $ mysql -e 'select \'abc\';'
(OK) $ mysql -e 'select '\''abc'\'';'
コメント