J'ai cassé mon CHEMIN en modifiant mon ~ / .bash_profile et Bash ne reconnaîtra pas la plupart des commandes

15

dans .bash_profile, j'ai accidentellement défini le chemin vers:

PATH="~/Tools/apache-maven-3.3.3/bin"

et maintenant le chemin par défaut a disparu. Rien dans Terminal ne fonctionne plus:

Korays-MacBook-Pro:~ koraytugay$ ls
-bash: ls: command not found
Korays-MacBook-Pro:~ koraytugay$ mkdir test
-bash: mkdir: command not found

Je ne peux pas voir les fichiers cachés dans le Finder, je ne peux donc pas également modifier .bash_profile depuis le Finder.

Comment puis-je résoudre cette situation?

Koray Tugay
la source
1
Cela peut ne pas fonctionner sur un système BSD: essayez de restaurer un chemin par défaut avec PATH=$(getconf PATH), sinon faitesPATH=/bin:/usr/bin
glenn jackman
1
La suggestion "getconf PATH" fonctionne bien, en 10.10 au moins.
calum_b
3
Puisque le PATH est mutilé, la suggestion de glenn fonctionnera avecPATH=$(/usr/bin/getconf PATH)
fd0

Réponses:

25

La façon la plus simple est de restaurer à partir d'une sauvegarde, par exemple à partir de Time Machine.
Cependant, si la dernière sauvegarde est suffisamment longue, il y a d'autres modifications que vous souhaitez conserver, vous pouvez modifier .bash_profile

Dans le terminal

Dans un terminal, vous pouvez utiliser le chemin d'accès complet aux éditeurs (/ usr / bin / emacs / usr / bin / vi ou / usr / bin / nano) pour modifier ~ / .bash_profile

par exemple

/usr/bin/nano ~/.bash_profile

Ou vous pouvez l'ouvrir avec l'éditeur de texte par défaut (par défaut TextEdit) via:

/usr/bin/open ~/.bash_profile

Dans l'interface graphique - à partir du Dock ou du Finder

Mais vous pouvez également le faire à partir de TextEdit (ou d'autres éditeurs GUI) par Fichier-> Ouvrir et aller dans votre répertoire personnel. Selon que vous avez défini le Finder pour afficher tous les fichiers ou ne pas afficher les fichiers cachés (par défaut), vous verrez soit .bash_profile dans la liste, soit vous pouvez appuyer sur ⌘ CMD+ ⇧ SHIFT+ .qui révèle les fichiers cachés dans les boîtes de dialogue Ouvrir / Enregistrer. (le raccourci provient de cette réponse )

user151019
la source
5
Les utilisateurs qui ne peuvent pas résoudre le problème décrit eux-mêmes sont probablement mieux d'utiliser nanoau lieu de emacs/ vipour modifier ~/.bash_profile.
nohillside
12

Ramener un CHEMIN minimal

Entrez la commande suivante pour réinitialiser un CHEMIN minimal:

PATH=/bin:/usr/bin

Réparer ~/.bash_profile

Modifiez votre ~/.bash_profileavec votre éditeur de texte préféré vi, emacs ou TextEdit. Préférez toujours une construction PATH relative:

PATH=${PATH}:...my_personal_added_pathes...
export PATH

Essaye-le

Avant de procéder comme trop de débutants en redémarrant votre session, pour découvrir qu'ils ne peuvent plus démarrer un shell. Testez votre ~/.bash_profile: ouvrez une autre Terminalfenêtre et vérifiez qu'elle fonctionne correctement:

. ~/.bash_profile
ls
uptime
date
...
dan
la source
1
Il n'y a pas besoin de exportvotre minimum PATH. Tout processus démarré par le shell actuel héritera du minimum PATH. Cependant, j'utiliserais export PATHdans un fichier de configuration shell.
fd0
1
Droite! Je suis tellement habitué à le taper de cette façon dans des environnements où il y a des scripts shell à tester.
dan
2

je suis tombé sur cette erreur qui me prend un après-midi entier à surmonter. Les commandes bash ls, git, mkdir etc. sont devenues invalides et ont signalé une erreur: "- bash: xx: impossible de trouver les fichiers ou le répertoire" car j'ai modifié le .bash_profile lors de l'installation de zsh. entrez la commande suivante pour restaurer votre ~ / .bash_profile

  1. dans le terminal de mac, entrez:

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  2. vous pouvez utiliser vos commandes bash temporairement, entrez:

    vim ~/.bash_profile
  3. restaurer les paramètres PATH en modifiant

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  4. enregistrez vim et quittez, puis entrez:

    source ~/.bash_profile

OK, mon ordinateur fonctionne à nouveau!

Yongsheng Yu
la source
Il peut être utile d'ajouter qu'il faut faire attention à l'étape 3 pour ne pas détruire les autres contenus du fichier.
nohillside
le .bash_profile a été détruit par mes commandes incorrectes, il n'y a plus rien sauf "export PATH =" vide, c'est donc la seule façon dont j'ai dû restaurer mon mac
Yongsheng Yu
-2
  1. Ouvrez votre bash_profile en exécutant / usr / bin / vim ~ / .bash_profile. (vim ~ / .bash_profile ne fonctionnera plus car le chemin n'est pas correct).
  2. Débarrassez-vous du chemin que vous venez d'ajouter qui a tout gâché.
  3. Quittez et redémarrez le terminal pour que la source ~ / .bash_profile s'exécute automatiquement. (Encore une fois, cela ne fonctionnera pas tel quel, car le chemin n'est pas correct).
Josh
la source
-5

Ouvrez votre .bash_profile, allez à la ligne avec votre commande d'erreur et mettez un # devant comme premier caractère de la ligne. Redémarrez (pour être sûr).

LexS
la source
Comment ouvre-t-il son .bash_profile?
user151019