web-dev-qa-db-ja.com

MacのBashを使用して、デフォルトのブラウザーで.htmlファイルを開きます

だから、これは私が必要なものです:

index.htmlファイルがあるとしましょう。

デフォルトのブラウザを使用して端末に開くように指示するにはどうすればよいですか?

(AppleScript、BASH、...?を使用)

57
DorBB

index.htmlを含むディレクトリから、試してみてください...

open ./index.html

openコマンドは、ファイル(またはディレクトリ、またはURL)を開きます。 openはMacOSxに含まれています。詳細とオプションは次を使用して見つけることができます

man open

注:デフォルトのアプリケーションは、LaunchServicesによって決定されます。

60
kevlarkevin

-aフラグを指定してopenコマンドを使用すると、Chrome(または任意のターゲットアプリケーション)のファイルまたは場所を開くことができます。

open -a "Google Chrome" index.html

これはURLでも機能します。つまり、open -a "Google Chrome" http://www.Apple.com です。

--->私はこの答えを見つけました@ stack exchange 、ユーザー「robmathers」のおかげ

23
moomark

実際、これは見た目ほど簡単ではありません。他の回答で示唆されているように、OS Xはopenユーティリティを提供して、シェルからファイルタイプに一致するアプリケーションを起動します。ただし、HTMLファイルの場合、それは、ファイルタイプpublic.htmlのLaunch Servicesに登録されたアプリケーションです。デフォルトのブラウザ(初期状態のインストール上にあると思います)またはHTMLを編集できると登録されているエディタ(devシステムでは珍しいことではありません)。デフォルトのブラウザはURLプロトコルhttpに登録されていますが、そのプロトコルハンドラにアクセスして、 openのファイル。

問題を悪化させるために、ハンドラーはdefaultsコマンドでアクセス可能なcom.Apple.LaunchServices.plist設定に保存されますが、情報の構造(2つの同じレベルのエントリ、1つはプロトコルを示し、もう1つはハンドラー)で非構造化します-defaultsで解析するのは簡単です。

幸いなことに、すでにこの問題を解決している人がいます。HAMsoftEngineeringは、DefaultApplicationShellユーティリティを提供しています。 ダウンロード シェルにアクセスできる場所に保存します(通常、/usr/local/bin。ただし、一部のOS Xバージョンではシェルのデフォルトパスにありません。/etc/pathsの内容を確認してください)。使用可能な場合、次のコマンドはデフォルトのブラウザーでHTMLファイルを開きます。エディター/ビューアーが登録されている場合は別です。

open -a "$(/usr/local/bin/DefaultApplication -url 'http:')" "/path/to/your/document.html"
14
kopischke

Perlでデフォルトのブラウザを取得するopen http://example.com -a "$(VERSIONER_Perl_PREFER_32_BIT=true Perl -MMac::InternetConfig -le 'print +(GetICHelper "http")[1]')"もできます。

3
Lri

ターミナルでは、open index.htmlを実行できます

1
Zabe Sangary

ブラウザコマンドの後にファイルを配置することで、chromeでHTMLファイルを開くことができました。

google-chrome-stable ./index.html

デフォルトのブラウザへの呼び出しが何であるかはわかりませんが、それがわかっていれば、それをエイリアスとして.bashrcに入れて、それ以降、エイリアスとファイル名を使用します。

goo ./index.html

ちょうど私の経験、最初の応答

1
Nameless477