sh nome script -sh: / bin / sh ^ M: cattivo interprete: nessun file o directory di questo tipo [duplicato]

Questa domanda ha già una risposta qui :

Commenti

Risposta

Sembra che tu abbia terminazioni di riga in stile Windows (CRLF, ^ M ^ J ) invece delle terminazioni di riga in stile unix (LF, ^ J). Prova dos2unix

dos2unix delete_7gg.sh 

quindi esegui come al solito

Da man:

dos2unix – Convertitore di formati di file di testo da DOS / MAC a UNIX

Commenti

  • grazie per la risposta ma ho realizzato lo script in un qnap qts 4.3.6 che posso raggiungere tramite ssh. Dovrebbe semplicemente eliminare i file più vecchi di sette giorni. Non posso ' t installare dos2unix perché il sistema non ha un gestore di pacchetti. Mi aspettavo solo di creare uno script e di inserirlo in cron. ma ' ricevo invece quellerrore.
  • @Malkavian Un altro modo: tr -d '\r' < input > output.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *