如何通过终端启动浏览器并将其打开到 Mac 上的特定网页?



我正在做一个小型个人项目,在任何地方都找不到答案。我是 Mac 世界的新手,所以对 BSD 的经验为 0。我只是想让它在满足 if 语句中的条件时(我知道该部分(我的默认浏览器 (Firefox( 将打开到指定的网页(例如 $var = 堆栈溢出,打开 stackoverflow.com(

任何帮助表示赞赏!

其他用户已经使用以下语法暗示使用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是您的默认浏览器,因此您可以完全省略该应用程序。 URL 会自动在系统的默认浏览器中打开:

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 '%sn' "${@}" 
| egrep -ix 'stackoverflow|imdb|youtube' 
| printf 'https://%s.comn' $(cat) 
| open $(cat); }

然后,运行?URL stackoverflow将打开https://stackoverflow.com,而运行?URL stackoverflow dropbox imdb将打开https://stackoverflow.comhttps://imdb.com,但不会打开https://dropbox.com(因为它不在有效网站匹配列表中(。

使用open命令,后跟单引号中的浏览器路径,后跟要打开的站点的 URL(用单引号引起来(。 示例

open '/Applications/Google Chrome.app' 'http://youtube.com'

open '/Applications/Firefox.app/' 'http://www.du.ac.in'

最新更新