

Mac のターミナルから既定ブラウザで URI を開く場合、open コマンドで以下のようにできます。

[code]

    $ open http://example.com/
    
[/code]

ですが、同じことを data: で始まる URI ではうまくできません。  
ローカルからファイルとして探してしまっているようです。

[code]

    $ open data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==
    The file /Users/yuya/src/github.com/yuya-takeyama/qrcat/data:text/plain does not exist.
    zsh: command not found: base64,SGVsbG8sIFdvcmxkIQ==
    
[/code]

これをうまく実行する方法はないでしょうか。  
具体的なブラウザは指定せずに、既定のブラウザで開くようにしたいです。


CC BY-SA 3.0
2015-03-10T08:07:44.847
7714
2015-03-10T09:22:03.753
3025
question
macos
Mac でターミナルから data スキーム URI を既定ブラウザで開く方法


英語版SOに同様の質問を見つけました。

[osx - Open an .html file with default browser using Bash on
Mac](https://stackoverflow.com/a/10250717/2818869)

ここでは、
[DefaultApplication](http://www.hamsoftengineering.com/codeSharing/defaultApplication/defaultApplication.html)
というサードパーティのコマンドを使った方法が紹介されています。これを使えばこのように書けるのではないでしょうか（手元にMacがないので検証できませんが）。

[code]

    open -a "$(/usr/local/bin/DefaultApplication -url 'http:')" "data:text/plain;base64,SGVsbG8sIFdvcmxkIQ=="
    
[/code]

Perl や AppleScript を使ってデフォルトブラウザを取得する方法もあるようです。

[osx - Discover default browser programmatically on Mac - Super
User](https://superuser.com/q/613362/423291)


CC BY-SA 3.0
2015-03-10T09:22:03.753
7723
2015-03-10T09:22:03.753
2017-05-23T12:38:55.307
-1
8000
7714
answer