Ich habe ein paar Python-Skripte unter / usr / share / scripts /, die ich häufig verwende, und ich möchte sie ausführen können, indem ich nur den Namen und nicht den vollständigen Pfad schreibe. Wie kann ich das tun?
echo $ PATH zeigt mir:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer
Also habe ich versucht, auf dem Terminal zu schreiben:
PATH="/usr/share/scripts/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer"
export
Es werden keine Fehler angezeigt und echo $ PATH zeigt jetzt meinen neuen Skriptpfad an , aber wenn ich scriptName ausführe , wird der Befehl nicht gefunden.
Was mache ich falsch?
Antworten:
Festlegen ausführbarer Berechtigungen für Python-Skripte mit "chmod + x *"
Jetzt haben Sie zwei Möglichkeiten:
/usr/local/bin
Verzeichnis.Beispiel:
[mzed@node02 test]$ vim printme.py
Inhalt der Datei:
- -
Ich hoffe, dies wird dir helfen.
quelle
Okay, vielleicht bin ich nur eine ältere Schule ...
Fügen Sie in / usr / bin Shell-Skripte mit dem Header #! / Bin / bash und der Erweiterung .sh hinzu. Führen Sie dann in diesen Skripten einfach python absolutepath aus.
Warum ich denke, dass es besser ist als die anderen Antworten:
Sie müssen Ihre Skripte nicht ändern, um sie ausführbar zu machen.
Sie müssen Ihre Skripte nicht umbenennen.
quelle
Entschuldigen Sie, dass Sie eine grundlegende Sache vorgeschlagen haben. Haben Sie "scriptname.py" anstelle von "scriptname" ausprobiert?
Außerdem müssen alle Skripte über Ausführungsberechtigungen verfügen (Sie können dies tun, indem Sie "chmod + x script.py" ausgeben). Nach Ihrem obigen Kommentar zu urteilen, da Sie sie wie "/ usr / share / scripts / scriptName" ausgeführt haben. py args ", sie sollten Ausführungsberechtigungen haben.
quelle