ubuntuusers.de

Keine Bashscripte ausführbar (/bin/bash^M: bad interpreter: No such file or directory)

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

DetlefKL

Avatar von DetlefKL

Anmeldungsdatum:
30. September 2009

Beiträge: 86

Wohnort: Aargau

Hallo miteinander!!

Ich habe auf einem Alixbord mit CF-Karte ein minimales Ubuntu nach Anleitung hier aus dem Forum installiert. Nach einigen Modifikationen läuft das nun prima. Nun habe ich von meinem alten Server, Scripte die ich benutze, auf das neue System in /usr/bin kopiert und die Rechte angepasst.

In den Scripte steht wie üblich in der 1. Zeile #!/bin/bash, dann folgt der Code. Hat bisher ja auch immer prima funktioniert. Wenn ich das Script nun mit dem Namen auf dem neuen System (Alix) aufrufe kommt nun folgende Fehlermeldung:

bash: /usr/bin/"meinscriptname" : /bin/bash^M: bad interpreter: No such file or directory

Kann es sein das ich durch die minimale Installation noch ein zusätzliches Paket installieren muss? Oder woran liegt es ??

Gruss Detlef...

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13212

DetlefKL schrieb:

Hallo miteinander!!

Guten Abend!

Ich habe auf einem Alixbord mit CF-Karte ein minimales Ubuntu nach Anleitung hier aus dem Forum installiert. Nach einigen Modifikationen läuft das nun prima. Nun habe ich von meinem alten Server, Scripte die ich benutze, auf das neue System in /usr/bin kopiert und die Rechte angepasst.

In den Scripte steht wie üblich in der 1. Zeile !#/bin/bash, dann folgt der Code.

Das muss aber "#!/bin/bash" heißen.

Hat bisher ja auch immer prima funktioniert. Wenn ich das Script nun mit dem Namen auf dem neuen System (Alix) aufrufe kommt nun folgende Fehlermeldung:

bash: /usr/bin/"meinscriptname" : /bin/bash^M: bad interpreter: No such file or directory

Kann es sein das ich durch die minimale Installation noch ein zusätzliches Paket installieren muss? Oder woran liegt es ??

Kling eher danach, dass Du mal dos2unix drüber laufen lassen solltest. Mit anderen Worten: vermutlich haben die Dateien Windows-Zeilenendungen. Du kannst das überprüfen z.B. mit od - so sieht das bei einer Windows-Datei aus:

1
2
3
4
5
6
7
8
9
$ od -t x1c test.txt
0000000  66  6f  6f  0d  0a
          f   o   o  \r  \n
0000005

$ od -t x1a test.txt
0000000  66  6f  6f  0d  0a
          f   o   o  cr  nl
0000005

Und so, nach der Umwandlung:

1
2
3
4
5
6
7
8
9
$ od -t x1c test.txt
0000000  66  6f  6f  0a
          f   o   o  \n
0000004

$ od -t x1a test.txt
0000000  66  6f  6f  0a
          f   o   o  nl
0000004

Ciao

robert

Edit: Es muss korrekt "Zeilenendungen" heißen.

DetlefKL

(Themenstarter)
Avatar von DetlefKL

Anmeldungsdatum:
30. September 2009

Beiträge: 86

Wohnort: Aargau

Hallo Robert!!

Das muss aber "#!/bin/bash" heißen.

Ist völlig richtig und so heisst es auch, sorry Tippfehler. Die Scripte sind mit Mcedit (Midnightcommander) direkt auf dem anderen Linux Rechner von mir erstellt worden. Windows benutze ich schon ewig nicht mehr, ich will das also hiermit ausschliessen. Auf der anderen Kiste läuft das Script ja auch problemlos. Ich denke eher das muss am neuen System liegen. Aber halt was!!??

Gruß Detlef...

Bearbeitet von redknight:

Zitat gekennzeichet.

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21852

Wohnort: Lorchhausen im schönen Rheingau

Die alix hat vermutlich ein minmalsystem ohne bash

echo $SHELL

um sichzugehen.

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Wohnort: Brandenburg an der Havel

Die Fehlermeldung stammt von der Bash und sagt eindeutig, dass da ein DOS-Zeilenende ist - wie auch immer das da hingekommen ist.

DetlefKL

(Themenstarter)
Avatar von DetlefKL

Anmeldungsdatum:
30. September 2009

Beiträge: 86

Wohnort: Aargau

Hallo Redknigh

redknight schrieb:

Die alix hat vermutlich ein minmalsystem ohne bash

echo $SHELL

um sichzugehen.

ergibt als root die Ausgabe: /bin/bash

Wäre das richtig?

Gruss aus der Schweiz

DetlefKL

(Themenstarter)
Avatar von DetlefKL

Anmeldungsdatum:
30. September 2009

Beiträge: 86

Wohnort: Aargau

Hallo Robert und Diesch!!

IHR HATTET JA SO RECHT!!! Es stimmt!!! 👍

DAAANKE!! Ich seit so gut zu mir!! Das wäre eine lange Nacht geworden.....

Habe das Script nochmal mit Mcedit auf dem neuen System geöffnet. Und siehe da an jedem Zeilenend war ein: ^M

Genau das Zeichen was er in der Fehlermeldung sogar angegeben hat. Manchmal kann die Welt einfach sein.

Nun habe ich sie alle entfernt und nun macht Ubuntu auch was Herrchen will. Kann mir blos nicht erklären wie die dahin gekommen sind. Habe nocheinmal nachgedacht und es bleiben eigentlich nur Kate der Editor, damit hatte ich auch mal via SSH gearbeitet oder Filezilla beim Transfer via Sftp.

Vielen lieben Dank! Detlef...

Antworten |