Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12633|Risposta: 0

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

[Copiato link]
Pubblicato su 13/06/2020 22:40:35 | | | |
Quando si esegue uno script shell, viene restituito il seguente errore:

-bash: ./log_job.sh: /bin/bash^M: interprete difettoso: Nessun file o directory del genere
Cause dell'errore:

.sh script è scritto su sistema Windows, quindi potrebbero esserci caratteri invisibili; dal prompt di errore sopra, è molto probabile che il file script sia in formato DOS, cioè la fine di ogni riga è identificata da \r\n, e il suo codice ASCII è 0x0D, 0x0A rispettivamente.

L'errore che viene visualizzato durante l'esecuzione di uno script shell è dovuto principalmente al fatto che il file di script di shell è in formato DOS, cioè la fine di ogni riga è identificata da \r\n, e la fine del file in formato UNIX è identificata da \n.

Nota speciale: ^M non è il ^ e la lettera M prodotti dal tasto shift + 6, è un carattere, il suo ASCII è 0x0D, il modo per generarlo è premere prima CTRL+V, e poi enter (o CTRL+M)


soluzione

Ci sono diversi modi per verificare se il file script è in formato DOS o UNIX.

(1) Verifica il formato dello script: cat-A file name Dai risultati visualizzati si può giudicare che la linea del file che termina in formato dos è ^M$, e quella che termina in formato Unix è $.



(2) Modificare il formato dello script: vi filename per aprire il file ed eseguire:set ff=unixImposta il file su unix ed esegui:wq, salvata in formato UNIX.

  (3) Verifica il formato dello script: cat -A filename Dal risultato di visualizzazione, puoi giudicare che la linea del file che termina in formato dos è ^M$, e quella che termina in formato Unix è $.







Precedente:SSIS Tutorial 1 Introduzione ai servizi di integrazione SQL Server
Prossimo:Scissione logaritmica di Nginx e cancellazione
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com