私はperl -pi -eを使ってxmlファイルの行を編集しようとしています。コマンドラインからperl -pi -eコマンドを実行するとうまくいきますが、スクリプトを入力してシステムコマンドを使用すると、以下のエラーが表示されます。Perlスクリプト内のXML編集
su:無効なオプション - i
詳細については `su --help 'を試してください。
print "Please enter virtualhost 1 - Example - ucisha.com:";
my $virtualhost1 = <>;
system("ssh -t <HOST> \"sudo su - root -c perl -pi -e 's/xmlNamespaceAware=\"false\">/xmlNamespaceAware=\"false\"> <Alias>$virtualhost1<\/Alias>/g' /tcserver/springsource-tc-server-node/UCISjvm/conf/krh.xml\"");
あなたはsudoを使って権限を昇格させ、正規表現を使ってXMLファイルを編集するperl one-linerを渡すリモートシステムにperlからsshへシェルを張っていますか?ああ、私。私は真剣に30分の恐怖に襲われた後、コマンドライン引数として編集要件をとり、適切なXMLパーサを使ってそれらを作るPerlスクリプトをそのサーバにインストールすることを真剣に考えていました。 – Quentin