Hi,
habe kürzlich mein erstes Perl-Proggi geschrieben (ein sagenhaftes "Hallo Welt"-Programm ;-), um mal zu testen, ob mein Perl (unter SUSE 7.2) richtig installiert ist.
Wenn das Programm mit
> perl HalloWelt.pl
aufgerufen wird, läuft es anstandslos.
Versuche ich es jedoch über den Dateinamen zu starten mit
> HalloWelt.pl
bekomme ich die Fehlermeldung
> bash: HalloWelt.pl: command not found
Mein Programm sieht folgendermaßen aus:
#!/usr/bin/perl -w
print ("Hallo Welt!\\\\n")
Die Fakten kurz und bündig:
- Beim Ausführen von HalloWelt.pl befinde ich mich im richtigen Verzeichnis
- Das Execute-Bit von HalloWelt.pl ist gesetzt
- Die Perl-Programmdatei befindet sich tatsächlich in usr/bin
- Das die bash von SUSE 7.2 mit #! nicht zurecht kommt, kann ich mir nicht vorstellen
- Interessant: Starte ich HalloWelt.pl über den Midnight Commander wird das Programm anstandlos ausgeführt
Also wo liegt das Problem?
HtM
NZC
Linux 14.981 Themen, 106.343 Beiträge
Er hat ja geschrieben, dass das Script in /usr/bin liegt. /usr/bin ist aber *immer* in $PATH, also muss er das Verzeichnis nicht mit angeben. Nur wenn er sich in /usr/bin befindet, muss entweder der '.' mit in $PATH liegen oder er muss, wie du schon sagtest ./ mit angeben.
Da er es aber so nicht haben will, muss er eben in einem anderen Verzeichnis sein.
Klaus