Le Terminal ne reconnait pas les commandes !
lonnie77 Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Ce matin encore mon terminal fonctionnait et maintenant il ne reconnait plus aucune commande! help me please !
voici une illustration:
MacBook-Pro-de-Wilson:~ demo$ ssh
-bash: ssh: command not found
MacBook-Pro-de-Wilson:~ demo$ ls
-bash: ls: command not found
MacBook-Pro-de-Wilson:~ demo$ vi
-bash: vi: command not found
MacBook-Pro-de-Wilson:~ demo$ cat
-bash: cat: command not found
Merci d'avance !!
35 réponses
- 1
- 2
Problème central: un utilisateur Mac OS X voit son terminal ne reconnaître aucune commande, ce qui pointe vers une PATH incorrecte et l’absence de /bin et /usr/bin. Des éléments de réponse préconisent d’ajuster PATH en réintroduisant /bin et /usr/bin via .profile ou .bashrc, et de vérifier que rc.common ou des scripts équivalents exportent PATH correctement. Des autres propositions suggèrent d’utiliser des commandes directes comme /bin/ls et d’ajouter export PATH=$PATH:/bin:/usr/local/bin dans .bashrc ou d’inspecter /etc/rc.common pour que le shell le lise à chaque ouverture. Enfin, des vérifications indiquent que des caractères non autorisés ou des guillemets dans PATH peuvent provenir d’un fichier de démarrage modifié et nécessiter une remise en ordre via rc.common.
-
Bonjour
Les commandes que tu as données en exemple sont situées dans les répertoires /bin ou /usr/bin.
Or ton Mac ne connait pas ces répertoires puisque comme tu le constates, la réponse à la commande echo $PATH cite pleins de répertoires sauf ces 2 là. Tu dois donc avoir un fichier .profile qui annule la définition de $PATH.
As-tu modifié un fichier de ce genre ?
Il faut toujours veiller à rajouter l'ancienne valeur du PATH au dossier que tu veux y rajouter:PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH" export PATH
-
Bonjour
Et si tu tapes la commande ci dessous, quelle est la réponse de ton Mac ?
echo $PATH
Ritchi -
Bonjour Ritchi,
voici ce que je recois:
MacBook-Pro-de-Wilson:~ demo$ echo $PATH
/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:"/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:??
Merci,
Wilson -
Bonjour,
D'accord je vois, par contre je ne sais pas comment j'aurais pu modifier ce genre de fichier.
Donc je dois taper dans le terminal cette commande pour récupérer mon terminal comme neuf :
PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH"
export PATH
merci -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
"Donc je dois taper dans le terminal cette commande pour récupérer mon terminal comme neuf"
Pas tout à fait. Cette ligne de commande doit être insérée dans un fichier qui est chargé à chaque lancement du Terminal et en principe ce fichier est /etc/rc.common. Vérifions que ce fichier est toujours correct:
Lance la commande suivante:grep PATH /etc/rc.common
Elle devrait donner la même réponse que celle-ci:PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices; export PATH
Ritchi -
Bonjour,
La commande grep n'est pas reconnue non plus:
Last login: Thu Mar 24 20:08:04 on ttys000
-bash: grep: command not found
new-host-2:~ demo$ grep PATH /etc/rc.common
-bash: grep: command not found
Wilson -
Effectivement...
Je te propose de la modifier ainsi:/usr/bin/grep PATH /etc/rc.common
Ritchi -
Bonjour,
La commande /usr/bin/grep PATH /etc/rc.common me donne comme résultat:
new-host-2:~ demo$ /usr/bin/grep PATH /etc/rc.common
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices; export PATH
ps: je ne sais pas si c'est normal mais tu auras remarqué que le terminal n'est plus logué en tant que "macbook-pro-de-wilson" mais en "new-host-2"
Wilson -
Au moins ce fichier rc.common est OK.
Ce qui me chagrine dans ta réponse ici, c'est les caractères anormaux qui apparaissent dans le PATH (je les mets en gras):MacBook-Pro-de-Wilson:~ demo$ echo $PATH /opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:"/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:??
Les guillemets " et les ?? ne sont pas autorisés dans ce genre de variable d'environnement. De plus "/opt/local/bin" n'est pas de base dans le path donc quelqu'un l'a bien modifiée
D'où questions:
1-Est-ce une recopie manuelle ou est-ce un copié/collé du résultat affiché à l'écran ?
2-Qui d'autre à accès à ce mac?
Ritchi -
Pour te répondre:
1- c'est bien un copié/collé que je fais. En refaisant la commande: echo $PATH il y a bien la présence des guillements " et des ??
2- C'est mon mac je suis l'unique personne qui y a accès.
Merci encore -
Bonjour,
Le but des opérations qui suivent est de rajouter la ligne de commande suivante au fichier caché nommé .bashrc:export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
Selon que ce fichier existe déjà ou non, il faudra soit le modifier, soit le créer de toute pièce.
Etape 1: Existe-t-il ou pas?
Lancer la commande suivante:/bin/ls -al | /usr/bin/grep bashrc
Deux possibilités:
Cas 1- la commande ne répond rien: le fichier n'existe pas, on va le créer
Cas 2- la commande répond un truc style (voir ci dessous) ce qui signifie que le fichier existe déjà et qu'il va juste falloir le modifier:-rw-r--r-- 1 imac1250 staff 25 28 mar 22:36 .bashrc
Cas 1: Le fichier n'existe pas. On va le créer.
a- Lancer TextEdit, ouvrir ses préférences et dans l'onglet "Nouveau Document", cocher "Format Texte" puis fermer la fenêtre des préférences.
b- Menu "Fichier -> Nouveau"
c- Dans le nouveau fichier taper la ligne suivante:export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
d- Menu "Fichier -> Enregistrer".
e- Cliquer sur l'icone "Petite Maison" afin d'aller à la racine de ton compte.
f- Nommer le fichier bashrc.txt et cliquer sur "Enregistrer".
g- Menu "TextEdit -> Quitter TextEdit"
h- Dans le Terminal, lancer la commande suivante:/bin/mv bashrc.txt .bashrc
i- Relancer l'application Terminal.
j- Vérifier que les commandes qui ne marchaient pas sont à nouveau OK.
Cas 2: Le fichier existe déjà. On va le modifier pour ajouter notre ligne de commande.
a- Dans le Terminal, lancer la commande suivante:/bin/mv .bashrc bashrc.txt
b- Lancer TextEdit, ouvrir ses préférences et dans l'onglet "Nouveau Document", cocher "Format Texte" puis fermer la fenêtre des préférences.
c- Menu "Fichier -> Ouvrir"
d- Cliquer sur l'icone "Petite Maison" afin d'aller à la racine de ton compte.
e- Choisir le fichier bashrc.txt et cliquer sur "Ouvrir"
f- Ajouter la ligne suivante en fin de fichier:export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
g- Menu "Fichier -> Enregistrer"
h- Menu "TextEdit -> Quitter TextEdit"
i- Dans le Terminal, lancer la commande suivante:/bin/mv bashrc.txt .bashrc
j- Relancer l'application Terminal.
k- Vérifier que les commandes qui ne marchaient pas sont à nouveau OK.
Ritchi -
Bonjour,
la commande ls et mv non se même pas connues.. Malgré que j'ai bien crée le fichier bashrc.rtf
MacBook-Pro-de-Wilson:~ demo$ ls -al | grep bashrc
-bash: ls: command not found
-bash: grep: command not found
MacBook-Pro-de-Wilson:~ demo$ mv .bashrc bashrc
-bash: mv: command not found
Wilson -
OK je vais modifier mes explications car j'ai oublié que rien ne marchait....
J'ai mis en gras ce qui a été modifié: principalement j'ai ajouté /bin/ ou /usr/bin/ devant les commandes ls, mv et grep utilisées. -
Très bien.
Je te remercie.
Wilson -
Bonjour Ritchi,
Je viens de taper les commandes:
MacBook-Pro-de-Wilson:~ demo$ export PATH=$PATH:/bin:/usr/local/bin
MacBook-Pro-de-Wilson:~ demo$ /bin/ls
Puis j'ai récupérer uniquement la commande ls . Par contre lorsque je ferme le terminal, je dois recommencer la commande.
Wilson -
En reprenant ton dernier post voici se que j'obtiens (en ayant bien créer le fichier bashrc.rtf):
MacBook-Pro-de-Wilson:~ demo$ /bin/ls -al | /usr/bin/grep bashrc -rw-r--r--@ 1 demo staff 375 31 mar 11:16 bashrc.rtf MacBook-Pro-de-Wilson:~ demo$ /bin/mv .bashrc bashrc mv: rename .bashrc to bashrc: No such file or directory
Ce n'est pas un problème par rapport au nom du fichier avec son extension ?-
- "Tout à fait Thierry!!!"
- "Je dirais même mieux, jean mimi: c'est bien un problème d'extension voire de lecture !"
Redevenons sérieux:
Quand tu as lancé la commande:
"MacBook-Pro-de-Wilson:~ demo$ /bin/ls -al | /usr/bin/grep bashrc"
Tu as bien une réponse, mais pas celle que j'attendais puisqu'entre-temps tu as créé le fichier bashrc.rtf.
SI ce fichier bashrc.rtf que tu as créé est correct (tu as ajouté la ligne "export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH",
ALORS, voici ce que tu dois faire:/bin/mv bashrc.rtf .bashrc
-
-
c'est fait! mais toujours pas de commande sauf ls cat et quelques autres encore.
Je n'arrive pas à comprendre se qu'il se passe !
Sorry pour le temps que tu passes pour m'aider !
C'est surtout les commandes types ssh login su etc.. dont j'ai besoin ! -
Tu as peut-être fait une erreur dans le fichier .bashrc. Vérifions cela:
Tape les 2 commandes suivantes et fait moi un copier/coller de la réponse:cd /usr/bin/more .bashrc
Puis tape la commande suivante et fait moi un copier/coller de la réponse:/usr/bin/env
-
voici se que je reçois:
MacBook-Pro-de-Wilson:~ demo$ cd /usr/bin/more .bashrc -bash: cd: /usr/bin/more: Not a directory MacBook-Pro-de-Wilson:~ demo$ /user/bin/env -bash: /user/bin/env: No such file or directory
-
a oui désolé alors sa me donne:
MacBook-Pro-de-Wilson:~ demo$ cd MacBook-Pro-de-Wilson:~ demo$ /usr/bin/more .bashrc {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 {\fonttbl\f0\fmodern\fcharset0 CourierNewPSMT;} {\colortbl;\red255\green255\blue255;\red38\green51\blue68;} \paperw11900\paperh16840\margl1440\margr1440\vieww9000\viewh8400\viewkind0 \deftab720 \pard\pardeftab720\sl360\ql\qnatural \f0\fs24 \cf2 export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH}export PATH=$PATH:Users/demo
- 1
- 2