我正在尝试使用perl -pi -e来编辑xml文件中的一行。如果我从命令行运行perl -pi -e命令它工作正常,但是一旦我输入我的脚本并使用系统命令,我得到下面列出的错误:
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\"");
答案 0 :(得分:3)
您需要在传递给-c
的参数周围添加引号。
目前,-c perl
然后-pi
被视为su
而非perl
的另一个参数。