Bash itself is an odd duck in scripting, with some dark historical crevices: http://tiswww.case.edu/~chet/bash/POSIX
A better option is a pure POSIX shell, the best-known of which in Linux is dash, but there is an existing Ada port to Windows here:
https://github.com/AdaCore/gsh
If non-POSIX features are required, the Android decision for mksh might suggest oksh for Windows.