行を入力すると:
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 に置き換えられます) が、次のように同じコマンドを渡す Java プログラムがあります。
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に問題がありますか、それとも何か不足していますか...