Probleme mit Perl-Dateien (in Shell ausführt)

Post Reply
Message
Author
SpOcK

Probleme mit Perl-Dateien (in Shell ausführt)

#1 Post by SpOcK »

Wenn ich Perl-Datein in Shell ausführen will, kommt immer wieder die Fehlermeldung "bash:Datei:command not found" und das Programm wird nicht ausgeführt. Auf Suse Linux 7.3 laufen die Programme wiederum einwandfrei. Was muss ich machen damit es wieder funzt?!?
MfG SpOcK

nobody
Posts: 35
Joined: 04. Mar 2003 19:00
Contact:

Re: Probleme mit Perl-Dateien (in Shell ausführt)

#2 Post by nobody »

hi,

in der ersten zeile der perlscripts muss #!/usr/bin/perl stehen dann klappt es auch.
oder du startest es mit perl "scriptname"

cu

Jochen

Re: Probleme mit Perl-Dateien (in Shell ausführt)

#3 Post by Jochen »

Wie üblich kann es viele Ursachen geben:
<li>Das Directory, in dem die perl-Skripte stehen, ist nicht im Suchpfad. Dann hilft ein "./mein-skript.pl" weiter, anstelle nur "mein-skript.pl" zu tippen.
<li>Ausführungsrecht ist nicht gesetzt. Kann mit "chmod a+x mein-skript.pl" behoben werden.
<li>perl liegt woanders als /usr/bin/perl. Häufig findet man beispielsweise eine modernere Version unter /usr/local/bin/perl, dann muss dies auch in der ersten Zeile des perl-Skripts eingetragen sein. Siehe mads Tipp oben.
<li>Ganz fiese Sache: perl-Skript wurde auf einer Windows-Maschine zwischengespeichert. Dann wird häufig das Zeilenende konvertiert, und aus "#!/usr/bin/perl" wird "#!/usr/bin/perl^M", wobei "^M" für das unter Linux überflüssige Carriage Return steht. Linux interpretiert es mit als Teil des Dateinamens und findet dann perl nicht, weil er nach perl^M sucht... Behebung: <pre>perl -p -i.bak -e 's/.$//' mein-skript.pl</pre>

Jochen

SpOcK

Re: Probleme mit Perl-Dateien (in Shell ausführt)

#4 Post by SpOcK »

Also wenn ./"Perl_Skript" eintippe klappts. Danke aber was kann ich machen das ich nicht jedes mal ./ eintippen muss.
Das müsste doch irgendwo einzustellen sein oder?

Schiermeier Andreas

Re: Probleme mit Perl-Dateien (in Shell ausführt)

#5 Post by Schiermeier Andreas »

dann ist in deinem Pfad . nicht enthalten -
wenn du das als root ausführen willst nimm . NICHT in den Pfad mit auf....

Schiermi

User avatar
max
Posts: 806
Joined: 14. May 2000 12:55
Location: Ruhrpott

Re: Probleme mit Perl-Dateien (in Shell ausführt)

#6 Post by max »

oder zumindesten nicht als erstes. Wenn dann schon hinten an..
Aber du solltest auch wissen das dieses mit Absicht geschah.
Stell dir vor dein skript würde "ls" heißen, und neben ls auch eine Backdoor einrichten und sich dann selbst löschen.....
die PATH-Variable wird der Reihe nach abgearbeitet, d.h. wenn ls nicht /usr/bin /bin /usr/sbin usw. gefunden wird, wird als letztes dann ins aktuelle Verz. nachgesehen "."
Gruss Max

Post Reply