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