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