Ich versuche also, ein persönliches bin
Verzeichnis in meinem privaten Ordner zu erstellen . Ich habe folgenden Ordner erstellt:
/Users/thi/bin
Ich habe meine Skripte in diesem Ordner abgelegt, aber wenn ich im Terminal eingebe:
myScript
Es läuft nicht.
Mir wurde gesagt, dass ich diesen Bin-Pfad exportieren muss, etwas, das damit zusammenhängt echo $PATH
, aber ich weiß nicht, wie ich es machen soll.
Antworten:
Sie müssen der Datei Folgendes hinzufügen
~/.profile
:Dann
source ~/.profile
Beachten Sie, dass Sie diese Datei möglicherweise erstellen müssen. Da sie mit einem beginnt, wird
.
sie möglicherweise nicht im Finder angezeigt, um über eine Anwendung wie einen Texteditor bearbeitet zu werden. Um alle Dateien einschließlich versteckter Dateien aufzulisten, verwenden Sie:quelle
$HOME/bin
als/Users/thi/bin
. Sie können dann Ihre Einstellungen auf einen anderen Computer kopieren, auf dem sich Ihr Benutzername möglicherweise unterscheidet..profile
Datei aufnehmen.export PATH=$HOME/bin:$PATH
meinem hinzu$HOME/.bash_profile
.Wenn Sie bash verwenden, fügen Sie eine Zeile wie die folgende hinzu
~/.bash_profile
:PATH
ist standardmäßig für den Export markiert, daher müssen Sie nicht verwendenexport
.Wenn beide
~/.bash_profile
und~/.profile
existieren, liest bash nur ,~/.bash_profile
wenn es als interaktive Login - Shell aufgerufen wird.~/.profile
wird auch von anderen Shells verwendet, die möglicherweise nicht die gleichen Konfigurationsoptionen wie bash verstehen.Terminal und iTerm 2 öffnen standardmäßig neue Shells als Login-Shells. Wenn bash als interaktive Anmeldeshell aufgerufen wird, liest es,
~/.bash_profile
aber nicht~/.bashrc
. Die Terminal-Emulatoren auf anderen Plattformen öffnen häufig neue Shells als Nicht-Login-Shells, sodass beispielsweise Bash-Reads~/.bashrc
aber nicht ausgeführt werden~/.bash_profile
. O X - Benutzer verwendet oft~/.bash_profile
als persönliche Konfigurationsdatei entsprechend~/.bashrc
auf anderen Plattformen, aber es ist auch üblich , zu Quelle~/.bashrc
von~/.bash_profile
oder Terminal sagen oder iTerm 2 neue Schalen als Nicht-Login - Shells zu öffnen.Sie können den Pfad auch globaler in
/etc/paths
oder ändern./etc/launchd.conf
In vielen Kontexten wird der Pfad jedoch weiterhin standardmäßig verwendet/usr/bin:/bin:/usr/sbin:/sbin
. Und ich musste nur wirklich den Pfad in Shells und Texteditoren ändern.quelle
export PATH=$HOME/bin:$PATH
meinem hinzu$HOME/.bash_profile
.~
(wenn sie nicht in Anführungszeichen stehen) und$HOME
werden vor der Variablenzuweisung erweitert, wenn Sie den Export oder eine einfache Zuweisung verwenden..bash_profile
oder.profile
? Oder hast du eine.bashrc
in deinem Homeverzeichnis?. ~/.bashrc
. Neue Shells werden als nicht angemeldete Shells im Shell-Modus in Emacs und in tmux geöffnet. Ich würde .profile nicht als Hauptkonfigurationsdatei verwenden, da es auch von anderen Shells wie ksh gelesen wird.Sie würde in der Regel zusätzliche Pfade nach setzen
$PATH
wiePATH=$PATH:/$HOME/bin
denn , wenn Sie nicht eine andere ausführbare Datei mit dem gleichen Namen ersetzen wollen , die in sein könnte/bin
, usw.quelle
$HOME/bin
genau aus diesem Grund am Anfang setzen würden . Entscheidend ist jedoch, dass die Reihenfolge der Verzeichnisse von Bedeutung ist$PATH
und die Shell den ersten passenden Befehl auswählt. Vielen Dank für den Hinweis.