データに二重引用符("")が含まれている場合、SSHを介してリモートsedコマンドを実行する方法は?

データに二重引用符(

サーバーのリストを実行し、次のコマンドを実行しようとします。

itaig@itaig-lt:~$ ssh root@$srvname "sed -i 's/VNCSERVERARGS[6]="-geometry 1920x1080"/VNCSERVERARGS[6]="-geometry 1152x864"/g' /etc/sysconfig/vncservers"

私もこれを試しました:

itaig@itaig-lt:~$ ssh root@$srvname "sed -i 's/VNCSERVERARGS[6]=\"-geometry 1920x1080\"/VNCSERVERARGS[6]=\"-geometry 1152x864\"/g' /etc/sysconfig/vncservers"
itaig@itaig-lt:~$

どちらの試みも新しいプロンプトラインを提供し、リモートシステムでファイルを確認したときに何も変更されませんでした。このようなコマンドを実行できますか?

ベストアンサー1

私はsshがこの問題とは関係がないと思います。システムにsshで接続し、sedコマンドを直接実行して最初に動作させてから、sshでラップする必要があります。

あなたの一致パターンが正しくないようです。文字をエスケープする必要があり、[]おそらく他のものが必要になるかもしれません。

おすすめ記事