Windowsからダブルクリックでshファイル実行


sample.sh.bat

:; if !(type uname > /dev/null 2>&1); then
    @ECHO off
    wsl ./%~n0%~x0
    PAUSE
    EXIT
:; fi
# ===== ↑ Windows bat =====

# ===== ↓ Linux bash =====
echo `uname`
  • sh実行のために起動用batファイルは作りたくなかった
  • :;を使うことでsh側でのみ実行するコマンドを書けるっぽい
  • bat側で動くコマンドとsh側で動くコマンドを分け、batで動いてる場合はwslで自分自身を実行させる