MacOSXでターミナルからGUIアプリケーションを起動したい

何がしたいの?

  • ターミナルのコマンドライン上からGUIアプリケーションを起動したい。
  • アプリケーションのフルパス名ではなく短い名前で起動したい。
  • GUIアプリケーションで開くファイルをコマンドライン引数で与えたい。

誰が使うの?

  • ターミナルを頻繁に使うけど、テキストエディタはターミナル内ではなくGUIで使いたい人
  • open -a /Applicatioin/xxx.app xxx.txtとか打ち込むのが面倒な人

どのように機能するの?

  • open コマンドを呼び出す短い名前の実行ファイルを登録します。

何を使うの?

  • Terminal.app
  • openコマンド

どこで確認したの?

いつ確認したの?

  • 2010年3月7日

何が参考になるの?

  • 特にありません。

何か注意点はあるの?

  • 短い名前の実行ファイルを新しく作るときには、既にある重要な実行ファイルと同じ名前にならないように気を付けましょう。
  • 管理者権限を使用するので作業には十分気を付けましょう。自己責任でどうぞ。

どんな手順でやるの?

  • 実行パスが通っていることろにコマンドを配置します。
mvimという名前でMacVim.appを起動するコマンドを作成します。
mvimへの第一引数をMacVim.appへ第一引数として引渡します。
$ cat /usr/local/bin/mvim 
open -a /Applications/MacVim.app $1
実行権限を与えます
 $ ls -al /usr/local/bin/mvim
 -rw-r--r--  1 root  wheel  36  3  7 14:29 /usr/local/bin/mvim
 $ sudo chmod 755 /usr/local/bin/mvim
 $ ls -al /usr/local/bin/mvim
 -rwxr-xr-x  1 root  wheel  36  3  7 14:29 /usr/local/bin/mvim
引数なしで実行してみます
$ 
$ mvim
$ 
引数ありで実行してみます
$ 
$ mvim tmp.txt 
$ 

他のアプリ用も色々作ってみます

Xcodeを起動するコマンドとか
$ cat /usr/local/bin/xcode 
open -a /Developer/Applications/Xcode.app $1
$ 
$ xcode tmp.txt 
$ 
Google Chrome を起動するコマンドとか
$ cat /usr/local/bin/chrome 
open -a "/Applications/Google Chrome.app" $1
$ 
$ chrome "http://google.com"
$ 

おわり