Wie zum ausführen von perl-script aus, wo jeder (jedes Verzeichnis)
Habe ich ein perl-Skript existieren, in der folgende Pfad (/home/Leen/Desktop/Tools/bin/tool.pl)
Jedes mal, wenn ich will, um dieses tool ausführen, ich gehe zum terminal
>
und ändern Sie das Verzeichnis zu
..../bin>
Dann führe ich das in perl schreiben
..../bin> perl tool.pl file= whatever config= whatever
Das problem ist, dass ich möchten, führen Sie das perl-Skript, ohne die Notwendigkeit, gehen Sie zu dem Ordner bin, wo es vorhanden ist . so kann ich ausführen von perl-script aus einem beliebigen Verzeichnis, und sobald ich enter shell
Ich ging in die etc/environment und ich schrieb das folgende
export PERL5LIB=$PERL5LIB:/home/Leen/Desktop/Tools/bin
Aber wenn ich auf terminal und Schreibe Folgendes geradeaus, ohne zu gehen, um bin-Ordner, tool.pl existieren
>perl tool.pl file=... config=...
sagt er die Datei "tool.pl" nicht vorhanden?????
InformationsquelleAutor Wahedsaw | 2012-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstes argument an die
perl
Programm den Pfad zu einer ausführbaren Datei. Diese Aufrufe sind äquivalent:etc.
In der shell die tilde
~
erweitert Ihr home-Verzeichnis, und./
symbolisiert das aktuelle Verzeichnis. Auf *nix-shells (einschließlich der verschiedenen terminal-Emulatoren auf ubuntu), wird die Eingabeaufforderung meistens ist$
im nomal-Modus#
als root-Benutzer und selten%
.>
Ist eine sekundäre Eingabeaufforderung, z.B. bei der Fortführung einer multiline-argument, im Gegensatz zu cmd.exe auf Windows.Den
PERL5LIB
variable legt fest, wo Perl sieht für Module, nicht für ausführbare Dateien.Können Sie ein Skript als ausführbare Datei über
chmod +x FILENAME
. Sie können dann rufen Sie das Skript ohne Angabe desperl
Programm:Können Sie ändern Sie die
PATH
variable zu ändern, in dem die shell sucht nach ausführbaren Dateien. DiePATH
enthält in der Regel/usr/bin/
- und anderen Verzeichnissen. Sie können ein Verzeichnis überFügen Sie Ihrem Verzeichnis auf Ende der
PATH
es, so dass Sie nicht überstimmen andere Programme.Wenn Sie festlegen möchten, dies dauerhaft, können Sie fügen Sie diese Zeile zu der Datei
~/.bashrc
(nur für Ihren Benutzer und nur für diebash
shell).Dann können Sie rufen Sie Ihr Skript von überall, ohne einen vollständigen Pfad, name:
Sollten Sie erwägen, einen spezifischen Befehl name in diesem Fall, um zu verhindern, dass name-clashes.
Ich ging zu Umwelt-Datei und ich habe Folgendes gefunden [ PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" ] Also sollte ich die Liste schreiben, am Ende [:/home/Leen/Desktop/Tools/bin], so dass die endgültige PFAD [PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/Leen/Desktop/Tools/bin"] oder sollte ich es schreiben, wie die folgenden [PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" $ PATH=$PATH:/home/Leen/Desktop/Tools/bin]. Vielen Dank, sir.
chmod +x FILENAME
ist ein shell-Befehl. So geben Sie ins terminal ein, oder ändern Sie die Berechtigungen in einem Dateimanager, z.B. Nautilus. Sie sollte in das Verzeichnis dertool.pl
, aberFILENAME
werden alle ein Pfad zu einer Datei. Wenn Sie benötigen Informationen über einen Befehl in der shell, Sie können die Artinfo COMMAND
(oderhelp COMMAND
im Fall von built-ins).COMMAND --help
oft so gut funktioniert.Wahrscheinlich ist es am besten, um das hinzufügen einer neuen Zeile am Ende der
~/.bashrc
einen Kommentar schreiben und erklären Sie Ihre änderungen, so können Sie ein Rollback, wenn nötig.Sir, ich ging zum terminal und dann in das Verzeichnis in dem bin-Ordner vorhanden und schrieb
chmod +x tool.pl
aber wenn ich versuche, diese:~/Desktop/Tools/bin$ tool.pl
es sagttool.pl: command not found
Es nicht erkennt, dass es sich um eine ausführbare Datei!! bitte helfen Sie mit !InformationsquelleAutor amon