Você não pode usar o código exato para o bash e o lote ao mesmo tempo.
Meu palpite seria que o roteiro segue um condicional, algo como:
if WINDOWS
exit /b 3
else
exit 3
Isso é tudo pseudocódigo, não sei o que funciona para os dois sistemas.
Editar: Ou você poderia seguir a rota mais fácil e escrever dois arquivos de script completamente diferentes; job.bat e job.sh .