Bash - беспроблемный запуск скриптов с окончаниями строк CRLF
Я использую виртуальную машину (в моем случае просто boot2docker) для запуска докер-контейнеров на хосте Windows. Для удобства мои исходные файлы сопоставлены с файловой системой хоста, поэтому текстовые файлы по умолчанию используют окончания строк CRLF в стиле Windows вместо LF-окончаний в стиле Unix.
Когда я пытаюсь запустить какой-нибудь файл .sh из контейнера докера, я получаю сообщение об ошибке
bash: ./script.sh: /bin/bash^M: bad interpreter: No such file or directory
Есть ли способ, как я могу как-то сказать интерпретатору bash / sh автоматически конвертировать \ r \ n в \ n и запускать файл?
Конечно, я мог бы сделать некоторые пиплайнинг, как этоcat script.sh | tr -d "\r" | sh
или даже создать псевдоним для этого, но он не будет охватывать ситуацию, когда один сценарий включает в себя другой.
Единственное приемлемое решение, которое я нашел до сих пор, это настроить Git для извлечения исходных файлов в формате UNIX.