使用Mac OSX“open”命令打开带-n标志的URL

时间:2017-10-31 19:00:39

标签: bash macos terminal

在使用-n标志时,我无法使用/ usr / bin / open来打开浏览器到特定的URL。

例如,这将起作用:

open -a "Google Chrome" "https://stackoverflow.com"

...成功打开所需的页面。但是,如果我的浏览器已经打开,它将在现有窗口中将其作为选项卡打开。 open的手册页说这应该用-n标志来解决,但是:

open -n -a "Google Chrome" "https://stackoverflow.com"

...打开浏览器的新实例(窗口)到主页,而不导航到所需的网址。

我也尝试在命令中移动-n标志并弄乱其他标志(例如-F)。

环境:macOS Sierra 10.12.6

更新:以下是我尝试过的其他一些解决方案......

我尝试在网址之前添加--args。这使它的行为类似于上面的第一个命令,基本上忽略了-n标志....

open -n -a "Google Chrome" --args "https://stackoverflow.com"

...将打开所需的网址,但会在标签页中显示,而不是新窗口。

我试过让'--new-window'成为--args:

的选项
open -a "Google Chrome" --args '--new-window' "https://stackoverflow.com"

...这与-n标志的行为方式相同,打开一个新窗口,但不传递URL。

我也尝试将网址放在--args:

之前
open -n -a "Google Chrome" "https://stackoverflow.com" --args '--new-window'

...这表现得好像我没有放置--args标志,在另一个标签页面中打开URL。

3 个答案:

答案 0 :(得分:3)

这适用于我的OSX El Capitan。 --new-window是一个chrome参数,其列表可以查看here

open -n -a "Google Chrome" --args "--new-window" "https://stackoverflow.com"

答案 1 :(得分:0)

经过多次反复试验,我发现这确实是可行的,可以通过两种方式完成:

...将-n标志传递给Google Chrome并将--new-window arg传递给Google Chrome:

open -n -a "Google Chrome" --args '--new-window' "https://stackoverflow.com"

...正确排序参数,使得--args标志位于URL参数之后(注意传递给open的-n标志会破坏它):

open -a "Google Chrome" "https://stackoverflow.com" --args '--new-window'

这些会打开一个包含指定网址的新窗口。

答案 2 :(得分:0)

-n命令将为您的浏览器启动一个新实例-默认情况下,它将在浏览器的新选项卡中打开。使用以下命令执行此操作:

open -n https://stackoverflow.com

如果要在新的 窗口 中打开,则必须指定(但必须指定哪个浏览器):

open -n -a Google\ Chrome https://stackoverflow.com

注意:对于bash命令中的新手:Google\ Chrome中的反斜杠是转义的空格-> bash命令中不识别空格(使用了空格来识别命令中的参数...)。