Еще следует добавить, что скрипты можно писать не только на шелле, но и на массе других языков, для того предназначенных.
Например, python, perl, awk и т.п.
И многие из тех скриптов будут работать без переделки под виндой.
Можно также придумать свой собственный язык, написать для него интерпретатор и писать скрипты на нем.
Фокус в том, что в начало файла со скриптом пишется строка
#!/usr/bin/perl -w
, а самому файлу ставится атрибут "исполняемый" (chmod +x).
bash при запуске файла анализирует ее и запускает указанный после #! файл, а ему в аргументах отдает имя файла.