it-swarm.com.de

Ich habe meine "HOME" -Variable geändert und kann jetzt "~/.bash_profile" nicht finden, um sie zurück zu ändern

Ich habe mit Umgebungsvariablen auf meinem Mac herumgespielt und versucht, zu lernen, wie man sie verwendet, und ich habe den Befehl nano ~/.bash_profile verwendet, wobei ich dann die Zeile HOME=/Users/MyCompName/Desktop hinzugefügt habe, um meine Ausgangsvariable zu aktualisieren.

Diese Änderung hat funktioniert und kann angezeigt werden, wenn ich printenv verwende, um alle Umgebungsvariablen anzuzeigen, aber wenn ich HOME ändere, konnte ich ~/.bash_profile anscheinend nicht mehr finden. Wo ist es hin?

15
Matt

Es ist am selben Ort.

Bevor sich die Änderung ~ zu /Users/YourUserName erweitert, findet die Shell dort Ihren .bash_profile. Nachdem die Datei bezogen wurde, wird ~ auf einen anderen Pfad erweitert, sodass ~/.bash_profile nicht mehr auf die relevante Datei verweist. Dies liegt daran, dass ~ in diesem Kontext $HOME bedeutet.

Wenn Sie den vollständigen Pfad zu Ihrem tatsächlichen Basisverzeichnis kennen, können Sie ihn anstelle von ~ verwenden. In Mac würde es wahrscheinlich so aussehen:

nano /Users/YourUserName/.bash_profile

Oder lassen Sie Ihre Bash Ihr Home-Verzeichnis in der Benutzerdatenbank nachschlagen, anstatt nur nach $HOME zu suchen. Dafür müssen Sie sich an nichts erinnern:

nano ~YourUserName/.bash_profile

Es ist nicht die beste Idee, die Variable HOME zu ändern, ohne das tatsächliche Basisverzeichnis zu ändern. Das Ändern des Basisverzeichnisses eines Benutzers ist eine Verwaltungsaufgabe. Normalerweise können normale Benutzer dies nicht.

32