web-dev-qa-db-ja.com

Mac OSXのコマンドラインから複数のSafariタブを開きます

私は現在、この単純なコマンドを使用して、コマンドラインからWebサイトを開きます。

open http://example.com

でも2つ開けると

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

それらは別々のSafariウィンドウで開きます。 Safariの設定を変更せずに、2つのタブと同じウィンドウでそれらを開くにはどうすればよいですか?

4
pupeno

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

次のようにエイリアス(またはシェル関数、シェルスクリプトなど)を定義します。

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

そして、次のように使用します。

openurl superuser.com stackoverflow.com serverfault.com

それはちょっと醜いですが、それは仕事を成し遂げるはずです。おもう。あなたが本当にopenに夢中になっていない限り。

5

ローレンスリンクが答えです:

[設定]-> [一般]から新しいタブで開くオプションを選択します

そして

最も重要な部分:

defaults write com.Apple.Safari TargetedClicksCreateTabs -bool true

両方のオプションで、open http://example.com http://example.orgを試してみると、両方とも同じウィンドウの2つの異なるタブで開きます。

1
Studer