Bash on Ubuntu On Windowsの実行環境でGit for Windowsのbash.exeを使いたいときの注意点

バッチファイルや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の使い勝手が悪くなってしまうので、個人的にはおすすめしません。

コメントを残す