コマンドパラメータを使用してシェルに渡す文字列を正しくエスケープする方法

コマンドパラメータを使用してシェルに渡す文字列を正しくエスケープする方法

任意のコマンドを正しくエスケープする方法は?


たとえば、

sudo -u chris sh -c 'echo "\"leftright\""'

上記の内容のエコー:

"leftright"

どのようにエコーするのですか?

"left'right"

次のことを試しましたが、うまくいくと予想しましたが、うまくいきませんでした。

sudo -u chris sh -c 'echo "\"left\'right\""'

どのように解釈されるのかよくわかりません。

ベストアンサー1

sudo -u chris sh -c 'echo "\"left'\''right\""'

おすすめ記事