Hallo Erstmal und eine Frage zu Scripten

Jan-Benedict Glaw jbglaw at lug-owl.de
Mo Nov 24 09:40:12 CET 2008


On Sun, 2008-11-23 21:16:43 +0100, Reinhard Schomacher <reinhard.schomacher at onlinehome.de> wrote:
> Hallo,
> 
> ich schreibe zum ersten Mal an euren E-Mail-Verteiler. Ich war vor ca. 2
> Jahren mal bei einer eurer Linux-Installationsparty und jetzt habe ich
> eine kleine Frage:
> 
> Wenn ich im Terminal zum Beispiel den Befehl "ls" eingebe, so bekomme
> ich ein Ergebnis.
> Wenn ich jedoch eine Scribt-Datei mit dem Dateinamen *.sh erstelle und
> folgendes reinschreibe:
> 
> #!/bin/bash
> ls
> 
> so kann ich die entweder über das Terminal ausführen und es kommt die
> Fehlermelung:
> Command not found

Anders als unter DOS ist es in Unix-artigen Systemen unüblich, daß das
aktuelle Verzeichnis automatisch mit im Suchpfad für Programme (und
damit auch für scripts) ist. Wenn Dein script, das den "ls"-Aufruf
enthält, z.B. im aktuellen Verzeichnis ist, lautet der richtige
Aufruf:

	./meinscript.sh

Wichtig ist dabei das "./" am Anfang, was aussagt, daß das script im
aktuellen Verzeichnis gesucht werden soll. Alternativ kannst Du
natürlich andere relative:

	../anderesverzeichnis/meinscript.sh

oder absolute:

	/home/du/bin/meinscript.sh

Verfahren wählen, um dem System mitzuteilen, wo Dein script liegt.

Ein anderer möglicher Fehler wäre es, wenn die Datei
DOS-Zeilenendungen (CR + LF) hat. Linux nutzt nur LF und das CR würde
dann zum Interpreter-Namen (/bin/bash<CR>) dazugehören. Das existiert
dann natürlich nicht.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw at lug-owl.de              +49-172-7608481
Signature of:                http://catb.org/~esr/faqs/smart-questions.html
the second  :
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lug-owl.de/pipermail/lug-rhwd/attachments/20081124/ee41309a/attachment.pgp