• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Suse 10 - Shellscripte laufen nicht !!!

@all:

Hallo,
habe gestern Suse10 installiert... läuft soweit alles Prima, aber:

ich kann keine Shellscripte laufen lassen...

( auf meinem anderen Rechner, ebenfalls mit Suse10 funktionieren die Scrips aber).


Er sagt immer, dass er die Datei nicht findet. Führt aber Scripte aus, die z.B. so aussehen:

Code:
echo "Hallo"
.
Wenn aber am anfang
Code:
#!/bin/bash
steht, geht es eben nicht.

Hat jemand ne Ahnung was da schif gegangen ist ???[/code]
 

rolle

Guru
Mit welchem Befehl möchtest Du die Scripte denn ausführen und wie sehen die Berechtigungen darauf aus?
 
OP
L

LinuxOpfer2

Newbie
Als Beispiel

te.sh:
Code:
#!/bin/bash
echo "Hallo und Willkommen"

setze dann die Rechte auf 700
Code:
chmod 700 te.sh

und versuche dann das Script laufen zu lassen:

Code:
./te.sh

Fehlermeldung:
": bad interpreter: Datei oder Verzeichnis nicht gefunden"

Was am besten ist. Ab und zu funktioniert es jetzt (aber nur manchmal bei ebenfalls kleinen Dateien)

Ich erstelle die Scrips mit Kate.
 

TeXpert

Guru
das hatten wir hier schön öfters -> Suchfunktion.

ansonsten sicherstellen, dass die Partition mit Exec-Rechten gemountet ist.
 
OP
L

LinuxOpfer2

Newbie
Ja Danke für den Tipp...

Habe versucht die Platte unter /etc/fstab executed zu setzen ??!! keine Ahnung aber Problem betseht nach wie vor...

Da stand:
Code:
/dev/hda3                            /                      reiserfs        acl,user_xattr              1 1
/dev/hda1                           /windows/C   ntfs               ro,users,gid=users,unmask=0002,nls=utf8   0 0

/dev/hda2                            swap              swap            defaults                         0  0

usw....


Ich habe nun eifach ein exec an die hda3 geheftet:

Code:
/dev/hda3                            /                      reiserfs        acl,user_xattr,exec              1 1

Aber funktioniert immernoch nicht...

die Scripte lassen sich aber statt "./" mit "sh XXX.sh" starten...

Wäre für einen Tipp nochmals sehr sehr dankbar.... :(
 

TeXpert

Guru
Du bist sicher, dass Du keine DOS-Zeilenendungen drin hast? die Fehlermeldung kommt mir sonst nur bei vorhandensein von ^M bekannt vor...
 
OP
L

LinuxOpfer2

Newbie
Wie schon gesagt, habe ich die Dateien mit Kate erstellt... Also sollten keine drinnen sein.

Und wenn ich sh xxxx schreibe funzt es ja auch.
 
OP
L

LinuxOpfer2

Newbie
Habe nochwas entdeckt:

wenn ich ein Script Starte, mit sh XXX.sh dann gibt es Fehlermeldungen bei den Befehlen:

echo

und clear

Wenn allerdings echo "lala" da steht gibt es keine Fehlermeldung.
 

TeXpert

Guru
dann öffne die Datei mal mit dem vim und schau Dir den Filemode unten an, ob da [dos] steht.

Beispiel:
Code:
#!/bin/bash

echo "Hallo Welt"

da sind ^M drin:


Code:
$ ./test.sh
: bad interpreter: Datei oder Verzeichnis nicht gefunden
$ sh test.sh
: command not found
Hallo Welt
d.h. die erste shebang-zeile mit 1M am Ende macht Ärger...
 
OP
L

LinuxOpfer2

Newbie
Texpert:

Ja da steht [dos] ...wie kann das sein ? Auf was muss ich achten..?


oc2pus:

Hat funktioniert.... und geht mit allen Scripten, die vorher nicht funzten :lol: :lol:

Aber könnt Ihr mir das auch noch erklären, ich hab doch Texteditoren genutzt (und das unter Linux und nicht unter dos).

:shock:
 

TeXpert

Guru
LinuxOpfer2 schrieb:
Hat funktioniert.... und geht mit allen Scripten, die vorher nicht funzten :lol: :lol:

logisch, denn das wandelt das entsprechend um :)


Aber könnt Ihr mir das auch noch erklären, ich hab doch Texteditoren genutzt (und das unter Linux und nicht unter dos).
lies das Handbuch zu Kate, ich nutz das Dingen nicht, evtl. versucht der schlauer als der user zu sein, wenn er auf vfat speichert....

nimm einfach einen richtigen[tm] Editor ;)
 
Oben