我想讓我們perl -pi -e編輯xml文件中的一行。如果我從命令行運行perl -pi -e命令,它工作正常,但是一旦我放入腳本並使用系統命令,我會得到下面列出的錯誤:Perl腳本中的XML編輯
su:無效選項 - 我
嘗試`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\"");
你正在從perl到shell的脫殼進入遠程系統,你使用sudo來升級你的權限,並通過perl單行程序來編輯XML文件,使用正則表達式?天啊。在畏懼了半個小時之後,我認真考慮在服務器上安裝Perl腳本,將編輯需求作爲命令行參數,然後使用適當的XML解析器創建它們。 – Quentin 2012-03-26 18:21:59