Windows 10のbash機能で、GUIからshファイルをクリックしてシェルスクリプトが起動できないのか試している。
拡張子shをbash.exeで開くように設定したらできるのかと思ったら、うまくいかない。
あきらめて、batファイルで中に「bash foo.sh」と書いておいてそのbatファイルを起動させてshファイルを動かすというのだと、うまく起動できた。
batファイルでbashに与えるshファイルは、改行コードがCR+LFだと動かないので注意が必要だ。
あと、batファイルに「bash -c コマンド」と書く使い方もできた。
例えば、batファイルに「bash -c python」と書いておけばpythonを起動できる。
(追記 – pythonでbaa.pyを実行させるには「bash -c “python baa.py”」としないといけない。)
bash.exeのヘルプは、「bash –help」とすれば出てくる。
次のような内容のファイルをbash-help.batという名前で作成して、クリックすると実行できる。
—
追記
Twitterで教えて貰ったのだが、次のblog記事でbashでスクリプトを起動させる方法が出ている。
→ Bash on Ubuntu on Windowsメモ
bashに渡されるファイル名のパス名がWindows形式だとbashがそのファイルを参照できないのが原因らしい。
一旦別の方法でファイル名を受け取って、ファイル名をbash用の形式に変換して渡してbashを起動するようにワンクッション置けばいいようだ。