エスケープされた引用符内で引用符をエスケープすることは可能ですか?

エスケープされた引用符内で引用符をエスケープすることは可能ですか?

私がしたいのは、私からコマンドを実行することです。

su - someuser -c "ssh someplace \"if ( ! grep <b>[WHAT DO I PUT HERE?]</b>some thing<b>[WHAT DO I PUT HERE]</b> /etc/somefile ); then doSomething; fi\""

私を混乱させる文字列をgrepするのはその引用符です。それでは、空白なしでコンテンツをgrepして問題を解決しましょう。ただし、grepしたい項目をgrepすることをお勧めします。

ベストアンサー1

3つの引用符を追加することは機能しません。引用解除、引用、および再引用解除のみ可能です。サブシェルも必要ありません。

あなたが本当に欲しいものは:

su - someuser -c 'ssh someplace "if ! grep \"some thing\" /etc/somefile; then doSomething; fi"'

このアプローチは迅速に扱いにくくなる可能性があります。サーバーにスクリプトを配置して実行することを検討してください。これにより、ネストされた参照地獄から抜け出すことができます。

おすすめ記事