Wie fügt man dem Suchpfad für ausführbare Dateien in Linux ein aktuelles Verzeichnis './' hinzu?Hinzufügen eines aktuellen Verzeichnisses './' zum Suchpfad unter Linux
Antwort
Ähm ... das hat nicht für mich funktioniert. Ich würde buchstäblich zuvor geschrieben
export PATH=$(pwd):$PATH
Der Befehl tun nur den Punkt hinzufügt.
Ich weiß, dies ist eine alte Antwort, aber wenn jemand über diese Frage über Google stolpert wie ich, hier ist eine detailliertere Erklärung.
Wenn Sie es machen wollen, so dass Suchpfad den Wert von pwd
zu der Zeit enthält, die Sie den Suchpfad festgelegt, tun:
export PATH=$PATH:$(pwd)
Also, wenn pwd
/home/me/tmp
ist, wird PATH gesetzt werden Wenn Sie es jedoch zu $PATH:/home/me/tmp
wollen, so dass, was auch immer Ihr aktuelles Arbeitsverzeichnis ist ein Befehl zum Zeitpunkt ausführen (ex, der Wert von pwd
zu einem bestimmten Zeitpunkt im Suchpfad ist), tun:
export PATH=$PATH:.
Also, wenn pwd
/home/me/tmp
ist, wird PATH $PATH:.
eingestellt werden. Wenn Ihr aktuelles Arbeitsverzeichnis ein Skript namens foo
enthält, würde es in Ihrem PATH enthalten sein. Wenn Sie Verzeichnisse zu einem ändern, das foo
nicht enthält, wird "foo" nicht mehr in dem PATH gefunden.
Sie sollten beachten, dass ein vorhandenes Arbeitsverzeichnis in Ihrem PATH ein potenzielles Sicherheitsrisiko darstellt.
fügen Sie immer die hinzu. am Ende des Pfades ... nicht der Anfang. Am Anfang ist es das größte Sicherheitsrisiko. weil Sie Standardbefehle wie ls ersetzen können. Sehr schlechte Übung. Setzen Sie es am Ende, dann werden Standardbefehle immer zuerst ausgegeben. – DiamondDrake
Danke @RickeyWard, du hast absolut recht. Ich habe die Antwort bearbeitet, um Ihren Vorschlag zu reflektieren. –
Das Risiko ist hier sehr real. Wenn ich eine bösartige ausführbare Datei erzeuge, die nach einem allgemeinen Dienstprogramm ('ls', usw.) benannt ist und Sie dazu verleitet, das Verzeichnis zu besuchen, in dem sie sich befindet, wird sie wahrscheinlich ausgeführt und ausgenutzt. Dies gilt nicht so einfach für Einzelbenutzer-Hosts, aber es ist immer noch ein unnötiges Risiko. Ich würde gegen alle relativen Verzeichnisse in '$ PATH 'empfehlen.Wenn Sie eine Reihe von Befehlen in einem Verzeichnis haben, das Sie nur manchmal verwenden, schreiben Sie am besten ein schnelles Skript, das es (explizit) zum Pfad hinzufügt. – Mark
export PATH=$PATH:$PWD
Arbeiten mit bash 4.3.48
Wenn Sie das Verzeichnis, das Sie zur Zeit sind in der PATH-Variable permanent hinzufügen möchten, können Sie
$ echo "export PATH=\$PATH:$(pwd)" >> ~/.bashrc
die $(pwd)
erweitern verwenden in das String-Literal Ihres aktuellen Verzeichnisses und fügen Sie die zitierte Zeile an Ihre bashrc an. Beachten Sie, dass die \
in \$PATH
benötigt wird, um die Erweiterung von $PATH
auf ihren aktuellen Wert zu vermeiden.
$ pwd
/path/to/suuuuuuuuuuuuuuuuuuuuper/long/foo/directory/bin
$ echo "export PATH=\$PATH:$(pwd)" >> ~/.bashrc
$ tail ~/.bashrc -n 1
export PATH=$PATH:/path/to/suuuuuuuuuuuuuuuuuuuuper/long/foo/directory/bin
- 1. ein Programm zum Überwachen eines Verzeichnisses unter Linux
- 2. Linux-Befehl zum Verschieben eines Verzeichnisses
- 3. Hinzufügen eines Verzeichnisses zum Ladepfad in Rails?
- 4. Absoluter Pfad eines Verzeichnisses * relativ * zum aktuellen Verzeichnis suchen
- 5. Hinzufügen eines Verzeichnisses in CVS
- 6. Ändern des aktuellen Verzeichnisses eines FileSystemObject
- 7. Hinzufügen eines Verzeichnisses zum Pfad global auf dem Ubuntu-Server
- 8. nltk fügt $ NLTK_DATA nicht zum Suchpfad hinzu?
- 9. PHP Name des aktuellen Verzeichnisses
- 10. Hinzufügen eines Verzeichnisses zu Tomcat Classpath
- 11. Verwenden von FileSystemWatcher zum Überwachen eines Verzeichnisses
- 12. Systemkopf-Suchpfad zu Xcode hinzufügen
- 13. Linux-Befehl zum aktuellen Wert von java.io.tmpdir
- 14. Tool zum Erstellen eines Java-Daemon-Service unter Linux
- 15. Hinzufügen eines Tab Bar Controllers programmgesteuert zum aktuellen App Flow
- 16. Installieren eines Python-Programms unter Linux
- 17. Rename Teil eines Verzeichnisses
- 18. Gradle Task zum Erstellen eines Zip-Archivs eines Verzeichnisses
- 19. Verwenden eines Git-Hooks zum Erstellen eines Commit-Protokolls und Hinzufügen zum aktuellen Commit
- 20. Linux-tar-Befehl: Komprimieren eines Verzeichnisses, aber keine Unterverzeichnisse
- 21. Wie lautet die Syntax zum Ignorieren eines Verzeichnisses in Git?
- 22. Hinzufügen zum Klassenpfad unter OSX
- 23. Hinzufügen eines Elements zum Desktop-Kontextmenü unter Windows
- 24. Hinzufügen einer aktuellen Klasse zum aktuellen Menüelement CSS
- 25. Verwenden von WiX zum Erstellen eines virtuellen IIS-Verzeichnisses
- 26. JQuery Klasse zum aktuellen Objekt hinzufügen
- 27. Abrufen des aktuellen Verzeichnisses in Objective C
- 28. Speichern des aktuellen Verzeichnisses in Zsh-Geschichte
- 29. Durchforsten des Inhalts des aktuellen Verzeichnisses
- 30. Umbenennen aller Dateien im aktuellen Verzeichnis unter Linux
was hat nicht für Sie funktioniert? – Baha