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.