0
私はSSH上の画面でいくつかのコマンドを実行しています。これは完璧に動作します:引用符をエスケープするBash
ssh [email protected] "screen -list; screen -r -d -X -S myscreen stuff $'echo here\n'"
しかし、今ではなくエコーよりも、私は二重引用符が含まれているsedコマンドを実行しようとしています。
sed -i -r "s/( host:)(\w+)/\1test/" file.yml
二重引用符は、bashのを引き起こしている:予期しないトークン `database_nameに近い構文エラー:」
どのように適切にSEDのために必要な二重引用符をエスケープしますか?
なぜ二重引用符が必要ですか?これはあなたのsedコマンドの回りに一重引用符で動作するはずです。あなたはそれに展開したい何も持っていません。 –
一重引用符は、stuffコマンドの一重引用符と干渉します。ここでechoをsedコマンドに置き換えようとしています。 – Tim
''\' ''を使用すると、他の単一引用符の中に単一引用符を引用することができます。 –