/bin/bash^M: bad interpreter: No such file or directory

COME ROVINARSI LA MATTINATA

Vi svegliate una bella mattina, avviate il vostro terminale Linux ed eseguite il vostro script… a rompervi le uova nel paniere c’è questo strano messaggio:

				
					/bin/bash^M: bad interpreter: No such file or directory
				
			
Sostanzialmente il messaggio di errore sostiene che non esiste alcun file dal nome /bin/bash^M . Ok, ma nello script non c’è nessun ^M!

^M è un carattere utilizzato da Windows per contrassegnare la fine di una riga (quindi è un ritorno a capo) e che corrisponde al carattere CR. In buona sostanza ci troviamo di fronte ad una terminazione di linea usata da Windows in uno script Linux, ovvio che questo si confonde. Questo succede spesso quando si fa un Copia&Incolla da Windows in una finestra SSH (es. quando ci si collega da Windows al proprio Raspberry Pi).

Per rimuovere i caratteri spuri CR sarà sufficiente eseguire il comando:

				
					sed -i -e 's/\r$//' nomefile.sh
				
			

Sei un appassionato di dispositivi innovativi?

Caronte Consulting progetta e realizza sistemi hardware e software nel campo dell’Industria 4.0, dotati di una sofisticata ed efficace Intelligenza Artificiale.

I nostri dispositivi sono realizzati su misura alle esigenze del Cliente e permettono di automatizzare completamente i processi industriali, ottimizzando la produzione e creando un risparmio di materie prime e di consumi energetici.