Но зачем?
Раз пути всё равно руками прописываешь, а не универсально, то просто проассоциируй у себя в винде sh с bash и спокойно себе пиши "script": "./test.sh".
Затем что это npm пакет будет, а не для себя.
Здесь будет 3 команды, под mac, linux и для винды, я не нашёл способа адекватно запустить .sh кроме git bash.
Поэтому приходится искать обходные пути.
Универсально для трёх систем? - я бы посмотрел пример.
historydev, что бы не делал твой .sh скрипт - это прекрасно сможет сделать .js скрипт запущенный через node. Если ты хочешь универсальности - пиши на js. Если кто-то скачал твой пакет из npm - у него точно есть node js.:)
Всё остальное - мутная фигня. У человека может на стоять гита(мало ли), или стоять, но по другому пути.
Добавлю пару моментов упущенных: во-первых гит-баш может быть не установлен на целевой системе, во-вторых даже если он будет установлен - то у него может быть другой путь. Так что да, правильно уже сказали - кроссплатформенная логика реализуется проще всего в ноде, а не оболочкой.
&& упрощённая если предидущая завершилась TRUE || - упрощённая если команда завершилась с FALSE | - упрощённая форма тунелирования подать предидущий stdout на stdin следующей команде comand ; comand2 - выполнить последовательно
не меняй шел а делай это скажем вот так
тут скрипт $(/bin/bash echo "hello world") тут продолжение скрипта
все что в переменной выполнится и вернет уже значение