web-dev-qa-db-fra.com

J'ai changé ma variable "HOME" et maintenant je ne trouve pas "~/.bash_profile" pour la changer.

Je m'amusais avec les variables d'environnement sur mon Mac, essayant d'apprendre à les utiliser et j'ai utilisé la commande nano ~/.bash_profile à laquelle j'ai ensuite ajouté la ligne HOME=/Users/MyCompName/Desktop pour mettre à jour ma variable home.

Ce changement a fonctionné et peut être constaté lorsque j'utilise printenv pour afficher toutes les variables d'environnement, mais lorsque je suis revenu à modifier HOME il était impossible de retrouver ~/.bash_profile. Où est-il allé?

15
Matt

C'est au même endroit.

Avant que la modification ~ ne soit étendue à quelque chose comme /Users/YourUserName, le shell y trouve votre .bash_profile. Une fois le fichier obtenu, ~ se développe en un autre chemin, de sorte que ~/.bash_profile ne pointe plus vers le fichier correspondant. En effet, dans ce contexte, ~ signifie $HOME.

Si vous connaissez le chemin complet de votre répertoire de base, vous pouvez l’utiliser au lieu de ~. Sous Mac, cela ressemblerait probablement à ceci:

nano /Users/YourUserName/.bash_profile

Ou laissez votre Bash consulter votre répertoire personnel dans la base de données des utilisateurs plutôt que de regarder simplement $HOME. Cela ne vous oblige à vous souvenir de rien:

nano ~YourUserName/.bash_profile

La modification de votre variable HOME sans modifier votre répertoire de base actuel n'est pas la meilleure idée. La modification du répertoire de base d'un utilisateur est une tâche administrative. En général, les utilisateurs ordinaires ne peuvent pas le faire.

32