Używam VM (w moim przypadku po prostu boot2docker) do uruchamiania kontenerów docker na hoście Windows. Dla wygody moje pliki źródłowe są mapowane z systemu plików hosta, więc pliki tekstowe domyślnie używają końcówek linii CRLF w stylu Windows zamiast końcówek LF w stylu Unix.Bash - płynnie uruchamiane skrypty z końcówkami linii CRLF
Kiedy próbuję uruchomić jakiś plik .Sh z pojemnika Döcker, będę się błąd
bash: ./script.sh: /bin/bash^M: bad interpreter: No such file or directory
Czy istnieje sposób, w jaki mogę jakoś powiedzieć bash/sh tłumacza automatycznie konwertować \ r \ n do \ n i uruchomić plik?
Pewnie, mógłbym dodać pseudolekcję w ten sposób, cat script.sh | tr -d "\r" | sh
lub nawet utworzyć dla niej alias, ale nie dotyczy to sytuacji, w której jeden skrypt zawiera inny.
Jedynym akceptowalnym rozwiązaniem, jakie znalazłem do tej pory, jest ustawienie Gita na pliki źródłowe do kasy w formacie UNIX.
Czy możesz napisać "echo $ TERM"? – user2915097
Jest to standardowy kontener dokera, 'echo $ TERM' zwraca' głupi' – trebi
spróbuj 'export TERM = xterm' lub' exec>/dev/tty 2>/dev/tty dev/tty' (wskazówka od https://github.com/docker/docker/issues/728) – user2915097