我想要一个类似于bash脚本的东西,当我在浏览器中加载特定的网页时,它会坐下来监听然后运行脚本。我想知道这样的事情是否可能,如果是的话,我该怎么做呢?
我认为这应该是可能的。我在Mac上,在我的/etc/hosts
文件中,我可以指定应该阻止特定网站,例如“www.facebook.com
”。
所以简而言之。我的计算机浏览器导航到网页时是否(以及如何)运行bash脚本,例如“www.facebook.com
”?
答案 0 :(得分:1)
更新了答案
如果您想将网站名称与预定义网站进行一些匹配,然后说些什么,那么您的脚本将如下所示:
#!/bin/bash
while :; do
site=$(osascript -e 'tell application "Safari" to return URL of front document')
if [[ $site =~ stackoverflow ]]; then
say "Stack overflow! A quality site"
fi
sleep 1
done
原始答案
您对使用的浏览器,页面是什么或您想要做什么并不十分具体,但是这个脚本会查看Safari并询问您正在查看的页面并将其打印在终端中。您可以明显地修改它以检测某些页面并在导航到它们时运行脚本。
#!/bin/bash
while :; do
osascript -e 'tell application "Safari" to return URL of front document'
sleep 1
done
将上述内容放在HOME目录中名为monitorSafari
的文件中。然后进入终端并键入以下一次以使其可执行:
chmod +x monitorSafari
然后您可以通过在Finder中双击它或键入
来运行它./monitorSafari
在您的终端中。它每秒打印一次你打开的页面。
答案 1 :(得分:0)
你可以:
httpd
,lighttpd
,...)(或使用预先安装的httpd
)localhost:8080
上)。例如,此脚本可以是PHP
脚本,它可以调用您的bash
脚本或完成作业本身。这可以通过cgi
来完成。www.facebook.com
)添加到hosts
文件,以将网址请求重定向到localhost:8080
hosts
文件,而是安装dnsmasq
来管理自定义请求的重定向。