Chaque commande échoue avec "commande introuvable" après modification .bash_profile?

Je mettais à jour mon .bash_profile, et malheureusement j'ai fait quelques mises à jour et maintenant je reçois:

env: bash: No such file or directoryenv: bash: No such file or directoryenv: bash: No such file or directoryenv: bash: No such file or directoryenv: bash: No such file or directory-bash: tar: command not found-bash: grep: command not found-bash: cat: command not found-bash: find: command not found-bash: dirname: command not found-bash: /preexec.sh.lib: No such file or directory-bash: preexec_install: command not found-bash: sed: command not found-bash: git: command not found

Mon bash_profile extrait en fait d'autres fichiers. sh (les sources), donc je ne suis pas exactement sûr de la modification qui a pu causer cela.

Maintenant, si j'essaie même d'ajouter une liste de fichiers, j'obtiens:

>ls-bash: ls: command not found-bash: sed: command not found-bash: git: command not found

Des conseils sur la façon de retracer la source de l'erreur, et comment être en mesure d'utiliser le terminal pour des choses de base comme la liste des fichiers, etc.?

Il me semble qu'à un moment ou à un autre, vous écrasez la valeur par défaut PATH variable d'environnement. Le type d'erreurs que vous avez, indique que PATH ne contient pas /bin, où les commandes ci-dessus (y compris bash) résider.

Par exemple, si vous faites

PATH=/home/user/bin

au lieu de

PATH="$PATH":/home/user/bin

Une façon de commencer à déboguer votre script bash serait de démarrer un sous-shell avec l'option-x:

$ bash --login -x

Cela vous montrera chaque commande, et ses arguments, qui est exécutée au démarrage de ce shell.

L'option login login est spécifiée car .bash_profile est lu par les shells de connexion. De plus amples informations sur le débogage des scripts bash peuvent être trouvées ici: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html.

En fin de compte, je pense que la suggestion de janvier fonctionnera pour vous, mais ce lien vaut la peine d'être lu pour les problèmes futurs.

J'ai peut-être trouvé le problème. Ça a marché pour moi, et ça pourrait marcher pour toi...

J'étais par défaut avec mon éditeur pour les sauvegardes Windows (LF/CR). Comme j'utilise les deux systèmes, cela semblait logique. Quand j'avais besoin de jouer avec mon .bash_profile, J'ai réalisé après avoir commenté et essayé des choses que rien ne fonctionnait. J'ai changé mes sauvegardes au format OS X (CR uniquement) et voilà! Plus de "commande introuvable" dans le terminal!

C'est peut-être aussi simple que cela!

Après je ne pouvais plus courir . ~/.bash_profile ou toutes les commandes habituelles comme whoami, grep, etc.J'ai trouvé un moyen de simplement réexporter les chemins requis:

export PATH=/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/cpanel/composer/bin:/usr/local/easy/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin

Cela devrait fonctionner dans la plupart des systèmes, bien que certains de ces chemins ne soient pas présents dans tous les packages Linux. Ça a marché pour moi.

Je pense que j'ai peut-être trouvé la réponse au problème si ce n'est pour vous, alors pour d'autres qui ont un problème similaire. Ma réponse à cela est que je n'ai pas de .bash_profile.

J'ai donc cherché partout sur le Web et j'ai trouvé la solution. Ce qui est essentiellement ouvrir le terminal, tapez touch ~/.bash_profile et presse Enter. Ça a réglé mes problèmes. J'espère que cela fera la même chose pour vous

J'ai le même problème que toi. Je ne peux pas utiliser beaucoup de commandes populaires (ls, vi/vim, ..) et ne peut pas modifier /root/.bashrc quand je me connecte avec su dans la racine.

Enfin. J'ai trouvé la solution à ce problème. Connectez-vous simplement root avec la commande:

su -m

Après cela, vous pouvez utiliser

vim /root/.bashrc

pour modifier LE CHEMIN.

Goodluck!

>J'ai eu le même problème. Vous avez peut-être manqué un PATH lors de l'exportation du CHEMIN. Tu devrais l'ouvrir .bash_profile dans TextEdit. Si vous ne trouvez pas le fichier dans le répertoire, appuyez sur Commande + Maj + pour afficher les fichiers cachés.

Ensuite, corrigez le CHEMIN, puis enregistrez.

Dans le répertoire du terminal, tapez: source .bash_profile.

Cela devrait résoudre le problème.

J'ai eu exactement le même problème:

Si je mets dans lxterminal:

set | grep "jerom/bash"PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jerom/bash/

si j'ai entré exactement la même commande dans tty2, j'ai obtenu:

set | grep "jerom/bash"PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jerom/bash\r

\r signifie la fin de la ligne DOS, j'ai donc ouvert le fichier ~/.bashrc et changez les fins de lignes dans Krusader en style unix. Et ça marche déjà!!! :-)

Les EOL DOS posent également des problèmes spourious dans les scripts bash.

J'ai eu le même problème tout à l'heure après avoir changé le .bash_profile.Et je veux le changer en arrière mais maintenant je ne peux pas, parce que j'ai perdu toutes les commandes, en particulier la commande nano et la commande vim, donc je ne peux pas ouvrir le .bash_profile avec la commande. Et le .bash_profile est un fichier caché que je ne peux pas ouvrir avec le Finder.

J'ai donc besoin de trouver un moyen de l'ouvrir .fichier bash_profile.Après avoir essayé de nombreuses façons, j'ai trouvé que je pouvais utiliser Atome, parce qu'Atom peut lire tous les fichiers d'un dossier de projet, incluez le caché files.So ouvrez simplement Atom et sélectionnez le File -> Open, choisir <yourusername> dossier, puis, tous les fichiers cachés s'affichent dans l'arborescence de l'atome, incluez le .bash_profile!!Après avoir supprimé la dernière modification et rouvert le Terminal, toutes les commandes sont revenues! :)

Oui, collez votre .bash_profile

Que se passe-t-il si vous utilisez le chemin complet comme ceci: /bin/ls ?
Et quels types de changements faisiez-vous?

/bin / ls répertorie les fichiers, mais ensuite je vois ces 2 lignes en dessous: '- bash: sed: commande introuvable

  • bash: git: commande introuvable`

Dans le cas où votre problème était avec / etc / environment', utilisez la commande suivante (dans centos 6) ‘ssh-t root@" / bin / bash-c ’ / bin / mv / etc / environment / tmp/’"`

Pour la machine virtuelle, après le redémarrage, il passe en " Entrée en mode d’urgence. Quittez le shell pour continuer.", entrez ’ xfs_repair-v-L /dev/dm-0puisreboot` pour résoudre le problème.