当我进入该行时:
sed -i 's/DNS1="8.8.8.8"/DNS1="8.8.4.4"/' /etc/sysconfig/network-scripts/ifcfg-eth0
我得到了所需的结果(即8.8.8.8被8.8.4.4替换),但是,我有一个jave程序,它传递的命令如下所示:
public static void swapDns() throws IOException, InterruptedException
{
Runtime rt = Runtime.getRuntime();
Process ps;
String cmd[] = {"sed","-i","'s/DNS1=\"8.8.8.8\"/DNS1=\"8.8.4.4\"/'","/etc/sysconfig/network-scripts/ifcfg-eth0"};
ps = rt.exec(cmd);
}
它不起作用。它没有改变任何东西。是否有sed / java的问题,或者我错过了什么......
答案 0 :(得分:2)
Java程序是否可能使用不同的环境运行,也许是sed不在路径中的环境?否则,它可能作为没有网络脚本写入权限的用户运行?