#1 Le 25/09/2016, à 11:30
- chicard
[Résolu] les commandes de base ne fonctionne plus
Bonjour,
Bien que je ne l'utilise pas tous les jours j'ai un problème avec le terminal. Chaque commande que je tape me rapporte la me chose:
:~$ sudo apt-get autoclean
La commande « sudo » est disponible dans « /usr/bin/sudo »
La commande n'a pas pu être trouvée car « /usr/bin » n'est pas incluse dans la variable d'environnement PATH.
sudo : commande introuvable
:~$ top
La commande « top » est disponible dans « /usr/bin/top »
La commande n'a pas pu être trouvée car « /usr/bin » n'est pas incluse dans la variable d'environnement PATH.
top : commande introuvable
Apparemment cela me fait ça depuis l'essai de l’installation du sdk android que j'ai tenté hier sans succès ce qui est autre chose.
Auriez-vous une ou des idées pour récupérer les commandes sur le terminal?
Merci.
Dernière modification par chicard (Le 02/10/2016, à 10:29)
Hors ligne
#2 Le 25/09/2016, à 11:39
- cqfd93
Re : [Résolu] les commandes de base ne fonctionne plus
Bonjour,
Donne le retour complet de :
echo ${PATH}
remarque : un retour complet doit contenir toutes les lignes depuis celle de la commande jusqu'à la ligne attendant la commande suivante, exemple :
moi@aurore:~$ uname -a
Linux aurore 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
moi@aurore:~$
− cqfd93 −
Hors ligne
#3 Le 25/09/2016, à 11:43
- lann
Re : [Résolu] les commandes de base ne fonctionne plus
En faisant cette commande ça devrait être bon :
export PATH=/usr/bin/:$PATH
<Modéré>
Hors ligne
#4 Le 25/09/2016, à 13:35
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
@cqfd93
Voici le retour
chicard@Argonath:~$ echo ${PATH}
:/home/chicard/Téléchargements/android-sdk-linux/tools:/home/chicard/Téléchargements/android-sdk-linux/tools
chicard@Argonath:~$
@lann
effectivement la ligne de commande que tu m'a donné fonctionne mon retour d'essai avec la commande top me retourne bien ce dont j'ai l'habitude.
En faisant un petit nettoyage j'ai encore reçu ce message de m...
chicard@Argonath:~$ [[ $(dpkg -l | grep ^rc) ]] && sudo dpkg -P $(dpkg -l | grep ^rc | tr -s " " | cut -d " " -f 2)
La commande « grep » est disponible dans « /bin/grep »
La commande n'a pas pu être trouvée car « /bin » n'est pas incluse dans la variable d'environnement PATH.
grep : commande introuvable
chicard@Argonath:~$
Un redémarrage plus tard le problème est encore là. La commande de @Iann résout le problème sur le moment mais apparemment au redémarrage le problème reste entier.
Dernière modification par chicard (Le 25/09/2016, à 13:45)
Hors ligne
#5 Le 25/09/2016, à 13:43
- cqfd93
Re : [Résolu] les commandes de base ne fonctionne plus
On peut même dire que tu as complètement flingué ton PATH. Voilà ce que ça donne chez moi :
moi@lenovo:~$ echo ${PATH}
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
moi@lenovo:~$
− cqfd93 −
Hors ligne
#6 Le 25/09/2016, à 13:46
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
Y a t'il un moyen de le restaurer?
Hors ligne
#7 Le 25/09/2016, à 13:53
- Compte anonymisé
Re : [Résolu] les commandes de base ne fonctionne plus
Bonjour,
que donne la commande suivante :
cat /etc/environment
#8 Le 25/09/2016, à 15:37
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
voici le retour
x@y:~$ cat /etc/environment
La commande « cat » est disponible dans « /bin/cat »
La commande n'a pas pu être trouvée car « /bin » n'est pas incluse dans la variable d'environnement PATH.
cat : commande introuvable
x@y:~$
Hors ligne
#9 Le 25/09/2016, à 15:44
- cqfd93
Re : [Résolu] les commandes de base ne fonctionne plus
/bin/cat /etc/environment
− cqfd93 −
Hors ligne
#10 Le 25/09/2016, à 15:51
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
retour:
x@y:~$ /bin/cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
x@y:~$
Hors ligne
#11 Le 25/09/2016, à 16:15
- cqfd93
Re : [Résolu] les commandes de base ne fonctionne plus
Regarde cette section de la doc : https://doc.ubuntu-fr.org/variables_d_e … tilisateur de manière à annuler les modifications que tu as faites hier en essayant d'installer ton sdk.
− cqfd93 −
Hors ligne
#12 Le 25/09/2016, à 16:56
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
Voici la méthode donnée par le site sur lequel on donne la procédure pour installer le sdk: ~/.bashrc
D'après la doc, ce genre de changement est définitif et que celui cité au dessus est le plus facile pour définir une variable
~/.bashrc - Du fait de la manière dont Ubuntu configure par défaut les divers fichiers de scripts, c'est sans doute l'endroit le plus facile pour définir des variables. La configuration par défaut garantit a peu près que ce fichier sera exécuté à chaque invocation de *bash* ainsi que lors de la connexion à l'environnement graphique. Cependant du point de vue des performances, ce n'est pas l'idéal car les variables seront inutilement redéfinies à chaque fois. (NdT : à chaque fois que vous ouvrez un terminal par exemple?)
Du coup, à moins d'avoir une méthode qui me permette de retrouver mon ancien PATH, il me faut soit une réinstal (ou attendre la 16.10) soit utiliser la commande
export PATH=/usr/bin/:$PATH
chaque fois que je voudrais utiliser le terminal.
Comme chaque instal est différente au niveau utilisateur et type d'utilisation, je suis pas sur que l'on puisse restaurer le PATH comme il était avant que je fasse une connerie. (Et dire que je tourne sur une LTS pour éviter les bug des versions intermédiaire et c'est moi qui fait foirer).
Apparemment il faudrait que je change le contenu de PATH et surtout sa localisation.
Je viens de faire un test et si je fais ça:
x@y:~/Téléchargements/android-sdk-linux/tools$ top
ma commande marche.
voilà la commande qui a modifié PATH :
x@y:~/Téléchargements/android-sdk-linux/tools$echo "export PATH=${PATH}:$(pwd)" >> ~/.bashrc
Du coup je pense que c'est à partir de la que je faire un changement mais je ne sais pas plus. De plus somme c'est un changement définitif pas moyen de revenir en arrière. Est-ce qu'en passant par une install en virtuelle je pourrais récupérer le PATH de la virtuelle pour remplacer celui sur l'hote?
Dernière modification par chicard (Le 25/09/2016, à 17:52)
Hors ligne
#13 Le 25/09/2016, à 17:51
- erresse
Re : [Résolu] les commandes de base ne fonctionne plus
Bonjour,
Après tes manipulations malheureuses, ton $PATH est devenu ceci :
:/home/chicard/Téléchargements/android-sdk-linux/tools:/home/chicard/Téléchargements/android-sdk-linux/tools
C'est complètement pourri, et ça n'indique plus les chemins d'accès aux répertoires des exécutables.
En faisant la commande suggérée par Iann, tu ajoutes le chemin "/usr/bin/" à ce $PATH, mais seulement ce chemin-là, le reste ci-dessus étant conservé...
Or, dans /etc/environment, tu as bien la valeur correcte pour le $PATH :
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Tu pourrais déjà faire la commande :
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
en faisant un copier/coller du contenu du fichier /etc/environment, et SANS ajouter :$PATH à la fin pour "nettoyer" le contenu de la variable d'environnement.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#14 Le 25/09/2016, à 17:53
- cqfd93
Re : [Résolu] les commandes de base ne fonctionne plus
Alors si je comprends bien, tu as modifié le .bashrc ? Tu peux le poster ici (ouvre-le avec ton éditeur de texte).
Quoi que tu aies fait, je ne pense pas qu'il soit nécessaire de réinstaller Ubuntu, ça serait sortir un canon pour tuer une mouche.
− cqfd93 −
Hors ligne
#15 Le 25/09/2016, à 18:17
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
Plus exactement le~./bashrc mais c'est ça.
en suivant la demande de @erresse j'arrive sur un terminal à retrouver le PATH d'origine qui est le me que @erresse.
Chaque terminal est différent, donc dans un deuxième terninal j'ai le PATH du sdk. Sachant que dans le premier terminal j'ai le bon si je fais
echo "export PATH=${PATH}:$(pwd)" >> ~/.bashrc
est-ce que cela pourrait remetre mon PATH de "manière correcte".
@cqfd93: je viens de faire différend gedit avant et après la commande "export PATH=/usr/bin/:$PATH" ainsi que dns le Répertoire tools du sdk et dans le cas ou cela s'ouvre c'est vide.
Hors ligne
#16 Le 25/09/2016, à 18:31
- Compte anonymisé
Re : [Résolu] les commandes de base ne fonctionne plus
En effet, modifier la variable dans un terminal n'est que temporaire et ne concerne que le terminal où il a été exécuté.
la commande que tu as indiqué n'est pas supposé régler quoi que ce soit. Il rajoute le répertoire courant dans le PATH déjà existant.
/usr/bin/gedit ~/.bashrc
t'affiche un fichier vide ?
Dernière modification par Compte anonymisé (Le 25/09/2016, à 18:34)
#17 Le 25/09/2016, à 18:42
- Compte anonymisé
Re : [Résolu] les commandes de base ne fonctionne plus
après si tu n'as pas fait d'autres modifications du fichier .bashrc, tu peux aussi restaurer l'original facilement :
cp /etc/skel/.bashrc ~
#18 Le 25/09/2016, à 18:43
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
Vu que c'était pas ce que je tapais c'était vide mais avec ça j'ai ceci:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
export PATH=:/home/chicard/Téléchargements/android-sdk-linux/tools
export PATH=:/home/chicard/Téléchargements/android-sdk-linux/tools:/home/chicard/Téléchargements/android-sdk-linux/tools
si je remplace les deux dernières lignes cela changerais PATH?
Je viens de voir ton message mais j'étais en train de poster le mien en me temps. La commande que tu propose je dois la taper dans quel terminal. J'explique. J'ai 3 terminaux ouvert, un avec le répertoire tools du sddk( avec lequel j'ai modifié le PATH) , un second avec actuellement le path original à restaurer et une troisième qui m'a permis d'afficher le fichier .bashrc.
Dernière modification par chicard (Le 25/09/2016, à 18:48)
Hors ligne
#19 Le 25/09/2016, à 18:47
- cqfd93
Re : [Résolu] les commandes de base ne fonctionne plus
Je pense qu'il suffirait de les supprimer.
− cqfd93 −
Hors ligne
#20 Le 25/09/2016, à 18:49
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
Mais le fait de les supprimer ne me donnerai t’il pas une erreur vu que le PATH ne saurais plus ou trouver les variables
Hors ligne
#21 Le 25/09/2016, à 18:58
- cqfd93
Re : [Résolu] les commandes de base ne fonctionne plus
Le PATH correct est dans /etc/environment alors que celui que tu as mis dans .bashrc est utilisé à la place du PATH système et non en supplément (parce que tu n'as pas mis à la fin :$PATH.
− cqfd93 −
Hors ligne
#22 Le 02/10/2016, à 10:29
- chicard
Re : [Résolu] les commandes de base ne fonctionne plus
J'ai fini par effectuer la restauration du fichier par la commande
cp /etc/skel/.bashrc ~
que tu as donnée @Anonyme68 et celà a fonctionné.
Merci pour votre aide.
Hors ligne