通过bash脚本更改Firefox主页?

时间:2014-04-04 10:46:38

标签: bash shell firefox

希望一切顺利。好吧,我试图这样做很长一段时间但仍未能达到结果。我写了一个bash脚本,目的是通过网络更改Firefox的主页。在互联网上搜索了几个小时之后,我发现了这个剧本,

sed -i 's|\('browser.startup.homepage',\) '\(.*\)'|\1 'http://www.somesite.com'|' .mozilla/firefox/*.default/prefs.js

我根据自己的需要编辑了这个,这是我写的脚本,

#!/bin/bash
USR="root"
IP="81.149.1.246"
ID="123"
SCRIPT="sed -i 's|\('browser.startup.homepage',\) '\(.*\)'|\1 'http://www.mysite.com/index.html?id=$ID'|' .mozilla/firefox/*.default/prefs.js"
`sshpass -p 'pa55w0rd' ssh -o StrictHostKeyChecking=no $USR@$IP "$SCRIPT" `
exit 0

脚本运行,不会出现任何错误,但当我去检查是否对 prefs.js 进行了任何更改时,我看不到任何错误。它仍然设置为旧URL。

我们将非常感谢这方面的任何帮助。感谢阅读并花了一些时间。期待您的回复。

由于

1 个答案:

答案 0 :(得分:2)

除非你的prefs.js没有格式错误,否则:home在prefs.js中只出现两次:

cat prefs2.js | grep 'about:home' -ohn
   50:about:home
   59:about:home

您可以将about:home的第一个实例替换为您的链接。

sed '0,/about:home/s//http:\/\/stackoverflow.com/' -i prefs2.js
cat prefs2.js | grep 'stackoverflow.com'
   user_pref("browser.startup.homepage", "http://stackoverflow.com");

并记住char-escaping。

<强> //修改

如果prefs.js不包含about:home。

我创建了一个新的干净的个人资料firefox -ProfileManager并且没有关于:home&#39;在prefs.js中,所以只需添加该行

echo 'user_pref("browser.startup.homepage", "http://stackoverflow.com");' >> prefs.js

并使用该新配置文件启动了Firefox。它起作用,这是我的起点。