gitbash から windows用のプログラムを起動する
ローカルにあるファイルを処理するのに、わざわざLinuxサーバに上げるのめんどいんで、bash スクリプトを gitbash で動かそうとしたんだが、一部のプログラムが、コマンドプロンプトでは動くのに gitbash では動かない。
で、どうしたかというと、gitbash から cmd を呼び出してプログラムを実行させた。
#!/bin/sh
cmd //C some_program arg1 arg2
何故かスクリプトから呼ぶ時は //C とスラッシュ2つ必要。スラッシュ一つにすると、何故か新しいコマンドプロンプトのプロセスが立ち上がって入力待ち状態になる。
また、
"some_program arg1 arg2"
のように実行するコマンド全体をダブルクォートしなくても動く。
クォートしてしまうと、
some_program "%Y/%m/%d"
のように引数をクォートする必要がある場合にうまく動かなくなる。
"some_program \"%Y/%m/%d\""
みたいなことをしたがダメだった。
ちなみにcygwinでもちょっと試してみたが、cygwinの場合はスラッシュ一つでよいらしい…
#!/bin/sh
cmd /C some_program arg1 arg2