Macのバッチファイル

Macにバッチファイルは無いのだろうか?
ファインダでそのファイルをダブルクリックしたり、
ファイルをドラッグドロップすると起動する。
その時、ターミナルが立ち上がって、シェルスクリプトが実行されてもいいのだが。


appleスクリプトを使えばできるのかも。
シェルスクリプトを、Finder上からダブルクリックやファイルのドロップで使えるようにするAppleScript
http://www.tonbi.jp/AppleScript/AppleScript/LIB/index.html



http://www.xillion.net/2008/01/app_1.html
このサイトを参考にして、
test.commandというテキストファイルを作り、chmod +xした。
内容は以下の通り

#!/bin/bash
ls

ファインダーでダブルクリックするとターミナルが開いたがlsが実行されない。
こんな表示がされて終了。

... /mydata/apli/cg/sunflow/test.command ; exit;
/mydata/apli/cg/sunflow/test.command: Command not found.
logout

[プロセスが完了しました]


ファイルの改行コードを、LF(Unix)に修正すると動いた。
Emacs文字コード指定
http://www.rsch.tuis.ac.jp/~ohmi/literacy/emacs/emacs-jcode.html



だが、また問題が発生。
コマンドを実行した時に、カレントディレクトリがホームディレクトリになるようだ。
コマンドファイルでファイルを指定したい時は、そのファイル名は相対パスでは書けない。


コマンドファイルのディレクトリへの移動は、以下のようにすればできた。

#!/bin/bash
MY_DIRNAME=$(dirname $0)
cd $MY_DIRNAME
ls