中野智文

中野智文(VOYAGE GROUP)のコンピュータなどのメモ

bashなどのshellでシングルクオートをエスケープする方法

2010-12-10 22:05:45 | goo
bashなどのshellでシングルクオートで囲まれた中でシングルクオートをエスケープする方法は残念ながらない。たとえば、
ssh host02 'ssh host03 \'ls -l\' '
みたいなことはできない。
しかし、クオートを一旦閉じてから、シングルクオートをバックスラッシュでエスケープして入力しその後クオートを再開することで、そのようなことが実現できるようだ。
ssh host02 'ssh host03 '\''ls -l'\'' '
すなわち、\'ではなく、'\''ということだ。

おまけ: シングルクオートを'\''に置換するワンライナー
ruby -pe '$_.gsub!(/'\''/, %q('"'\\\\\\\\''"'))'

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。