我正在做一个小型个人项目,在任何地方都找不到答案。我是Mac世界的新手,因此对BSD有0个经验。我只是想做到这一点,以便当满足if语句中的条件时(我知道该怎么做),我的默认浏览器(Firefox)将打开到指定的网页(例如$ var = stackoverflow,打开到stackoverflow.com)
任何帮助表示赞赏!
答案 0 :(得分:0)
使用open
命令,然后用单引号括住浏览器的路径,然后用单引号括住要打开的网站的URL。例子
open '/Applications/Google Chrome.app' 'http://youtube.com'
答案 1 :(得分:0)
open '/Applications/Firefox.app/' 'http://www.du.ac.in'
答案 2 :(得分:0)
其他用户已经通过以下语法暗示了open
命令的使用:
open /Path/To/browser.app http://example.com
,对于 Firefox 而言,类似于以下内容:
open /Applications/Firefox.app https://stackoverflow.com
但是,您可以使用 -a
标志对此进行一些简化,该标志使您可以简单地指定要打开的应用程序的名称,如下所示:
open -a Firefox https://stackoverflow.com
此外,由于 Firefox 是您的默认浏览器,因此您可以完全省略该应用程序。网址会在系统的默认浏览器中自动打开:
open https://stackoverflow.com
,在您的情况下,它将在 Firefox 中打开 Stack Overflow 网站,而在我的系统上,它将在 Safari (我的默认浏览器)。
您还可以指定多个URL来一次打开多个网页:
open https://stackoverflow.com https://imdb.com https://youtube.com
在我的系统上,它会在最近处于活动状态的 Safari 窗口的单独标签中打开每个URL。在您的计算机上,它将使用 Firefox 执行类似的操作,具体取决于您是将浏览器设置为在单独的窗口中打开新页面,还是在同一窗口中作为新选项卡打开,等等。>
将此与您的if...then
控制语句结合在一起,一个简单的bash脚本可能看起来像这样:
?URL() { [[ -z "${@}" ]] && return 1 \
|| printf '%s\n' "${@}" \
| egrep -ix 'stackoverflow|imdb|youtube' \
| printf 'https://%s.com\n' $(cat) \
| open $(cat); }
然后,运行?URL stackoverflow
将打开 https://stackoverflow.com
,而运行?URL stackoverflow dropbox imdb
将打开 https://stackoverflow.com
和 https://imdb.com
,但 不是 https://dropbox.com
(因为它不在有效网站列表中)匹配)。