bashなどのshellでシングルクオートで囲まれた中でシングルクオートをエスケープする方法は残念ながらない。たとえば、 ssh host02 'ssh host03 \'ls -l\' 'みたいなことはできない。 しかし、クオートを一旦閉じてから、シングルクオートをバックスラッシュでエスケープして入力しその後クオートを再開することで、そのようなことが実現できるようだ。 ssh host02 'ssh host03 '\''ls -l'\'' 'すなわち、\'ではなく、'\''ということだ。 おまけ: シングルクオートを'\''に置換するワンライナー ruby -pe '$_.gsub!(/'\''/, %q('"'\\\\\\\\''"'))'