Utilizzo la VM (nel mio caso semplicemente boot2docker) per eseguire contenitori docker su host Windows. Per motivi di convenienza, i miei file sorgente sono mappati dal file system host, quindi i file di testo sono per impostazione predefinita utilizzando terminazioni di linea CRLF in stile Windows anziché terminazioni LF in stile Unix.Bash - esecuzione senza problemi di script con terminazioni di linea CRLF
Quando provo ad eseguire alcuni file di Sh dal contenitore finestra mobile, vado a prendere un errore
bash: ./script.sh: /bin/bash^M: bad interpreter: No such file or directory
C'è un modo come avrei potuto in qualche modo dire a bash/sh interprete per convertire automaticamente \ r \ n per \ n ed eseguire un file?
Certo, potrei fare qualche pipelelling come questo cat script.sh | tr -d "\r" | sh
o persino creare un alias per questo, ma non coprirebbe la situazione in cui uno script ne include un altro.
L'unica soluzione accettabile che ho trovato finora è quella di impostare Git per il checkout dei file sorgente in formato UNIX.
puoi postare 'echo $ TERM'? – user2915097
È contenitore docker standard, 'echo $ TERM' restituisce' stupido' – trebi
prova 'export TERM = xterm' o' exec>/dev/tty 2>/dev/tty user2915097