在 Mac OS X 上从命令行打开多个 Safari 选项卡

在 Mac OS X 上从命令行打开多个 Safari 选项卡

我目前正在使用这个简单的命令从命令行打开网站:

open http://example.com

但当我打开两个,即使这样做

open http://example.com http://example.org

它们会在单独的 Safari 窗口中打开。我怎样才能在不更改 Safari 设置的情况下将它们作为两个选项卡在同一个窗口中打开?

答案1

以下是如何更改 Safari 的常规设置以在新选项卡中打开新 URL: 让 Safari 在现有窗口中以选项卡形式打开新链接,而不是在新窗口中打开

我不知道是否有办法通过在命令行指定选项来做到这一点。

编辑:如果您因为某种原因不想更改 Safari 偏好设置,但仍希望能够从命令行在选项卡中打开新的 URL,那么您可以创建如下 AppleScript:

-- ~/Library/Scripts/newtab.scpt (or whatever name you'd like)
-- _argv will be the URLs given at the command line
on run _argv
    try
        tell application "Safari" to activate

        --repeat for each URL
        repeat with _i from 1 to length of _argv
            -- Copy URL to clipboard
            tell application "Safari" to set the clipboard to item _i of _argv

            -- Tell Safari to open a new tab, paste the URL, and "hit" Return
            tell application "System Events"
                tell process "Safari"
                    tell menu bar 1 to click menu item "New Tab" of menu "File" of menu bar item "File"
                    tell menu bar 1 to click menu item "Open Location…" of menu "File" of menu bar item "File"
                    tell menu bar 1 to click menu item "Paste" of menu "Edit" of menu bar item "Edit"
                    key code 36
                end tell
            end tell
        end repeat
    end try
end run

并定义一个别名(或 shell 函数,或 shell 脚本,或任何其他东西),如下所示:

alias openurl="osascript ${HOME}/Library/Scripts/newtab.scpt"

然后像这样使用它:

openurl superuser.com stackoverflow.com serverfault.com

它有点丑,但应该能完成工作。我想。除非你真的很迷恋open

答案2

劳伦斯链接是答案:

从“偏好设置”->“常规”中选择在新选项卡中打开的选项

最重要的部分:

defaults write com.apple.Safari TargetedClicksCreateTabs -bool true

对于这两个选项,当我尝试时,open http://example.com http://example.org它们都会在同一个窗口的两个不同选项卡中打开。

相关内容