Windows 上で動く Unix ライクな環境 Cygwin で作成したシェルスクリプトを Windows 側のバッチファイルから呼び出す方法のメモです。 ※Cygwin 側のシェルスクリプトから Windows 側のバッチファイルを呼び出す方法ではありません。
作業記録
0. 前提条件
作業した環境は Windows XP SP3 + Cygwin 1.7.9 です。 呼び出す、Cygwin 側のシェルスクリプトは、ユーザルートに配置した “hoge.sh” とします。 今回はシェルスクリプトを呼び出していますが、呼び出すものは何でもよいです。
1. バッチファイル記述方法
以下のように、"bash.exe" の置いているフォルダへ移動して、実行したいコマンドをオプション指定すればよいです。 bash のオプション “–login” は Cygwin にログインし、"-i" はインタラクティブモード、"-c" は後ろのコマンドを実行します。 “-c” より前までは既存の “cygwin.bat” と同じ内容、"-c" 以後が追加した部分です。
1 2 3 |
|
2. bash のオプション
参考までに、bash コマンドのオプションはヘルプによると以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
2. その他
シェルスクリプトに exit 値を指定して終了するようにしておけば、バッチ側でリターンコード(ERRORLEVEL)を取得することも可能なので、エラー処理等に利用できます。
Cygwin ユーザには常識的な内容のお話でした。 当方はこの方法を応用して Cygwin 上の Ruby スクリプトを実行するようなバッチファイルを作成し、タスクで定時起動させています。
以上です。