打开新的Safari窗口的终端命令

4

在终端中使用Firefox打开链接非常简单,firefox 命令有许多选项可供选择。例如,您可以使用firefox -new-window "http://stackoverflow.com"在新窗口中打开链接。

我想知道在Mac上是否可以用Safari实现同样的功能?open "http://stackoverflow.com"只会在已经打开了Safari窗口的情况下,在新标签页中打开链接。
我知道有一些应用程序可以让您在“在新标签页中打开”和“在新窗口中打开”之间切换。是否有一种特殊的URL前缀可以告诉Safari打开一个新窗口?还是只能通过Objective-C代码实现?

2个回答

9
您可以将以下函数与 osascript 代码一起放入您的 .profile 中。
代码:
function Safari {
  # Will open a New Safari window with argument 1.

osascript <<EOD
tell application "Safari" to make new document with properties {URL:"$1"}
return
EOD

}

在终端中:

  • 进入您的主目录。
  • 运行:nano .profile

如果您已经有一个.profile文件,它将打开并且那里已经有一些代码。

  • 在任何其他代码下面将代码输入其中。

如果您没有一个,将会打开一个空白的.profile文件。

  • 将代码输入其中。

------输入代码后----

按住 Ctrl 并按下 x 键。

在窗口底部将要求您保存更改。

enter image description here

按下 y 键表示是。

现在将要求您使用当前的.profile名称保存它。

enter image description here

只需按下 Enter 键即可保存它。

运行:

  . ~/.profile

这将更新环境。
现在你可以运行:
Safari  "http://stackoverflow.com"

请注意Safari中的大写字母"S"。

谢谢!我正在使用 vim,但无论如何感谢你的解释 :-) - johk95

5
这里使用不同的方法(osascript vs 终端),但它可以做到我认为你要求的内容:
osascript -e "tell application \"Safari\"
    make new document
    set URL of document 1 to \"http://www.apple.com/\"
    set bounds of window 1 to {500, 500, 800, 800}
    activate
end tell"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接