Puoi usare bash -x scriptname.sh
per rintracciarlo.
Assicurati che la tua prima riga sia:
#!/bin/bash
Inserisci il tuo percorso per bash se non è /bin/bash
Prova a eseguire:
dos2unix script.sh
Ciò convertirà i finali di riga, ecc. Da Windows al formato unix. cioè rimuove \r (CR) dalle terminazioni di riga per cambiarle da \r\n (CR+LF)
a \n (LF)
.
Maggiori dettagli sul dos2unix
comando (pagina man)
Un altro modo per sapere se il tuo file è in formato dos/Win:
cat scriptname.sh | sed 's/\r/<CR>/'
L'output sarà simile a questo:
#!/bin/sh<CR>
<CR>
echo Hello World<CR>
<CR>
Questo produrrà l'intero testo del file con <CR>
visualizzato per ogni \r
carattere nel file.