firefox/prefs.js不接受修改

firefox/prefs.js不接受修改,firefox,sed,Firefox,Sed,我试图通过prefs.js以root用户身份更改我的firefox设置,方法如下: sed -En '/user_pref\("network\.proxy\.(socks|socks_port|type)"/!p $ a\ user_pref("network.proxy.socks", "127.0.0.1");\ user_pref("network.proxy.socks_port", 9150);\ user_pref("network.proxy.type", 1);

我试图通过prefs.js以root用户身份更改我的firefox设置,方法如下:

sed -En '/user_pref\("network\.proxy\.(socks|socks_port|type)"/!p
    $ a\
user_pref("network.proxy.socks", "127.0.0.1");\
user_pref("network.proxy.socks_port", 9150);\
user_pref("network.proxy.type", 1);
    ' prefs.js

脚本的输出显示它已在prefs.js中正确写入,但实际上该文件没有进行修改。

我终于找到了使用grep和bash的解决方案:

grep -v "network.proxy.\(socks\|socks_port\|type\)" prefs.js  > temp && mv temp prefs.js

cat <<EOT >> prefs.js
user_pref("network.proxy.socks", "x");
user_pref("network.proxy.socks_port", x);
user_pref("network.proxy.type", x);
EOT
grep-v“network.proxy.\(socks\\ socks\\ u port\\ type\)”prefs.js>temp&mv temp prefs.js
cat prefs.js
用户_pref(“network.proxy.socks”,“x”);
用户_pref(“network.proxy.socks_port”,x);
用户_pref(“network.proxy.type”,x);
EOT

thanx

您需要添加
-i
标记以就地编辑:。