Macのターミナルからアプリを起動する方法

またMacのターミナルの話になってしまうんですが、openコマンドを使うとターミナルからアプリを起動することができるんですね。これは結構便利だなあ。有名だとは思うんですが、僕はこれ今まで知らなかったのでかなり損した気分です(笑)

 

例えば、

open hogehoge.jpg

とすればプレビューで表示してくれます。


open *.jpg

とかやれば、現在のフォルダにあるすべてのJPEGファイルを一気にプレビューで開くことができたり(いっぱい画像があったら大変なことになってしまいますが)

 

ターミナルでgrepやfindでファイルを検索して、今度はGUIの方でこのファイルを使いたいなあって場合などはいちいちFinderで該当するフォルダに移動して、ようやくそのファイルをアプリで開く、というような面倒なことしてたんですが、これなら楽チンですね。

もし、現在のフォルダをFinderで表示したい場合は、

open .

だけで現在のフォルダでFinderが開きます。(現在のフォルダを表す、ピリオド"." を open の後に指定しています)

 

もちろん関連付けられていないアプリを指定することも可能です。-a で指定します。

例えばWebページを表示する時に開くブラウザを指定して開くこともできます。もちろん、各アプリケーションは事前にインストールされている必要があります。

open -a "/Applications/Safari.app" https://staku.designbits.jp/
open -a "/Applications/Firefox.app" https://staku.designbits.jp/
open -a "/Applications/Google Chrome.app" https://staku.designbits.jp/

上から順に、Safari、Firefox、Google Chromeで えすたくぶろぐ を開きます。いちいちアプリのパスを記述するのは面倒ですので、今後も多用するなら$HOME/.bashrcにalias登録しておくといいかもしれません。

alias opera="open -a /Applications/Opera.app"

opera http://example.com/

のようにエイリアス登録しておけば次回から便利です。次回ターミナル起動時から有効となります。即時有効にするには、

source $HOME/.bashrc

で適用しましょう。

 

#!/bin/sh
open -a "/Applications/Safari.app" $1
open -a "/Applications/Firefox.app" $1
open -a "/Applications/Google Chrome.app" $1

こんなシェルファイルを作っておけば、一気に3つのブラウザで同じURLを開くこともできますね。表示チェックの時くらいしか使い途ないかもしれませんが。

 

Finderとターミナルの行き来をするのが面倒だったんですが、前回の cd to や、今回の openコマンドを活用すれば苦にならなさそうです。

MacMac

Posted by staku