バッチファイルやJenkinsからGit for Windowsのbash.exeを起動したい事が有ると思いますが、Bash on Ubuntu On Windowsが動作する環境だとsystem32\bash.exeが起動されてしまい不具合がでているような状況もあるようです。
単純に環境変数PATHの参照順の話なのですが、バッチファイルやJenkinsのスクリプト記述で以下のようにすれば回避できます。
方法1 bash.exeを全てフルパスで記述する。
すべてフルパスでbash.exeを記述してしまえば間違えようがありません。
"C:\program files\git\bin\bash.exe" .\hoge.sh
方法2 バッチファイル(スクリプト)内で環境変数PATHを設定し直す。
ようはsystem32\bash.exeより先にGit for Windowsのbash.exeが呼び出されれば良いので、バッチファイルの先頭に以下をのようにPATHの設定を追加します。
SET PATH=C:\program files\git\cmd;C:\program files\git\bin;%PATH%
@REM 以下は今までのバッチファイル
まとめ
めんどくさいですが、以上の方法で改善できます。最初からPATHの参照順を変えてしまうのは、それはそれでBash on Ubuntu On Windowsの使い勝手が悪くなってしまうので、個人的にはおすすめしません。
コメント