Sie können bash -x scriptname.sh
verwenden zu verfolgen.
Stellen Sie sicher, dass Ihre erste Zeile lautet:
#!/bin/bash
Geben Sie Ihren Bash-Pfad ein, wenn er nicht /bin/bash
ist
Versuchen Sie Folgendes auszuführen:
dos2unix script.sh
Dadurch werden Zeilenenden usw. vom Windows- in das Unix-Format konvertiert. d.h. es entfernt \r (CR) von Zeilenenden, um sie von \r\n (CR+LF)
zu ändern bis \n (LF)
.
Weitere Details zum dos2unix
Befehl (Manpage)
Eine andere Möglichkeit, um festzustellen, ob Ihre Datei im DOS/Win-Format vorliegt:
cat scriptname.sh | sed 's/\r/<CR>/'
Die Ausgabe sieht in etwa so aus:
#!/bin/sh<CR>
<CR>
echo Hello World<CR>
<CR>
Dadurch wird der gesamte Dateitext mit <CR>
ausgegeben angezeigt für jeden \r
Zeichen in der Datei.