Wenn ich ein neues Terminal öffne, ist der $PATH nicht das, was ich in .zshenv eingestellt habe
grep -i path .??*
zeigt, dass keine andere Punktdatei den Pfad festlegt.
Wenn ich ein paar hinzufüge echo
, sehe ich:
Last login: Thu Nov 18 13:29:13 on ttys000
PATH: /usr/bin:/bin
path: /usr/bin /bin
WGroleau@MBP ~ % echo $PATH
/Users/WGroleau/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/WGroleau/bin:/opt/local/bin:/opt/local/sbin:/usr/local/sbin
WGroleau@MBP ~ % cat .zshenv
echo "PATH: $PATH"
echo "path: $path"
LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export HOMEBREW_NO_ANALYTICS=1
export PATH=~/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
WGroleau@MBP ~ %
/Library/Apple/usr/bin existiert nicht einmal! Aus dem Kommentar geht hervor, dass es etwas ist, das Apple in 12.0.1 entfernt hat
In Gordons Kommentar fand ich zwei beunruhigende Dinge:
-x zeigt ungefähr hundert Aktionen für JEDEN eingegebenen Befehl an.
/etc/zprofile wird NACH der .zshenv-Datei des Benutzers aufgerufen, um den Pfad mithilfe einer kompilierten ausführbaren Datei in /usr/libexec/path_helper zu ändern, die ~/.zshenv durch Lesen der Dateien /etc/paths und /etc/paths.d/* überschreibt.
Es ist also nicht abzusehen, ob es sich um einen Apple-Fehler handelt oder ob ein Fehler eines Drittanbieters dies verursacht hat. Die Manpage sagt, dass ich den Schaden in ~/.zprofile überschreiben kann
Benutzer3439894
Gordon Davisson
set -x
es Ihrer .zshenv-Datei hinzu, damit es ausgibt, was in den Init-Dateien passiert, und Sie sehen können, wo die Hinzufügungen stattfinden.WGroleau