Comment réinitialiser $ PATH?

13

J'essayais d'ajouter quelque chose à $ PATH et ça s'est totalement mal passé. Je ne peux plus exécuter de commandes telles que ls. J'ai regardé cette réponse et utilisé les lignes suivantes:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PATH=$PATH:~/bin

Ces lignes règlent le problème temporairement; cependant, lorsque je redémarre le terminal, il semble oublier ces modifications.

Comment réinitialiser définitivement mon $ PATH?

J'utilise la version la plus récente de Mountain Lion.

Nosrettap
la source
5
Correction:/bin/rm ~/.bash_profile
Nosrettap
2
Bonne question. Vous pouvez toujours mettre votre correctif dans une réponse.
bassplayer7
Également demandé au superutilisateur
Glenn Jackman
1
Réalisant que vous avez déjà résolu votre problème, les utilisateurs ayant un problème similaire peuvent également trouver de l'aide sur/etc/paths
David Smith

Réponses:

15

La réponse suggérée de suppression .bash_profilen'est pas une bonne idée en général. Il y a d'autres choses qui peuvent être définies dans ce fichier en plus des PATHdéfinitions.

Si vous souhaitez annuler les effets de votre expérimentation, supprimez ou commentez simplement cette PATHligne avec un #.

Vous ne voulez pas éditer le à PATHpartir de zéro, mais y ajouter, comme vous l'avez fait avec votre deuxième ligne. La méthode préférée pour ajouter quelque chose à votre chemin serait:

export PATH=$PATH:$HOME/bin

EDIT Puisque votre PATHest foiré, vous n'avez pas accès aux commandes habituelles pour effectuer ces changements. En tant que correctif temporaire, vous pouvez définir un nouveau chemin minimal dans une fenêtre de terminal (pas dans votre .bash_profile) en tapant:

PATH=/bin:/usr/bin

Cela vous donnera temporairement accès à nano ls mv vi catet rm- les outils de base pour vérifier et modifier votre .bash_profileet résoudre votre problème ...

Répétez, ne mettez cette PATHdéfinition nulle part, sauf pour la durée de la session pendant que vous effectuez vos corrections.

Beroe
la source
5

Je recommande:

source /etc/profile

C'est ce que Mac utilise pour définir le chemin initial, et il mettra tout en place à l'exception des éléments que vous ajoutez pour votre utilisateur.

Je fais une quantité décente de modification de chemin dans mon ~ / .bash_profile, et je l'ai placé en haut du fichier parce que j'avais des problèmes avec le rechargement de mon profil pendant que je travaillais après avoir modifié un alias là-dedans ou quelque chose , et il ajoutait des références en double à mon chemin. Au lieu de vérifier s'il est déjà ajouté, je réinitialise simplement mon chemin vers la version scratch et ré-ajoute les éléments que je veux.

rjferguson
la source
3

Supprimez votre profil bash pour restaurer la valeur par défaut $PATH. Entrez la commande suivante dans Terminal.app :

/bin/rm ~/.bash_profile

Le changement aura lieu avec la prochaine session shell ou terminal.

Graham Miln
la source
Réponse, basée sur les commentaires de l'interrogateur d'origine, pour supprimer la question de la file d'attente sans réponse.
Graham Miln
4
Eh bien, si vous voulez conserver un autre contenu de votre profil, un simple /bin/mv ~/.bash_profile ~/bash_profilepourrait être mieux
nohillside
1
C'est la réponse la plus simple que j'ai trouvée sur l'ensemble des sites Web de SE. Merci!
mr5
0

La valeur par défaut d'OSX $PATHest générée à partir du contenu du /etc/pathsfichier, il est assez simple à modifier.

Chris Keele
la source
1
La modification /etc/pathscomporte le risque que les modifications soient écrasées par la prochaine mise à jour d'OS X, cela ne fonctionne pas non plus pour les chemins spécifiques à l'utilisateur comme ~/bin.
nohillside
C'est vrai, bien que je gère habituellement ceux de mon .rc plus tard. Je n'ai pas encore eu ma /etc/pathsréinitialisation par une mise à jour (plusieurs années maintenant depuis que j'ai commencé à utiliser brew).
Chris Keele
Piratage actuel d' un provisionnement boxen qui, je l'espère, me rendra imperméable aux futures mises à jour par écrasement.
Chris Keele
0

Ces méthodes sont géniales! Si vous rencontrez ce problème avec zsh, supprimez-le. ~/.zshrcCela supprimera vos paramètres zsh.

RedG3ar
la source
Vous préférez en conserver une copie/bin/mv ~/.bash_profile{,.bck}
MauroPorras