我目前正在使用这个简单的命令从命令行打开网站:
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
它们都会在同一个窗口的两个不同选项卡中打开。