Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/09/2016, à 12: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, à 11:29)

Hors ligne

#2 Le 25/09/2016, à 12: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, à 12: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

Hors ligne

#4 Le 25/09/2016, à 14: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, à 14:45)

Hors ligne

#5 Le 25/09/2016, à 14: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, à 14: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, à 14: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, à 16: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, à 16:44

cqfd93

Re : [Résolu] les commandes de base ne fonctionne plus

/bin/cat /etc/environment

cqfd93

Hors ligne

#10 Le 25/09/2016, à 16: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, à 17: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, à 17: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, à 18:52)

Hors ligne

#13 Le 25/09/2016, à 18: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 résolu, 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, à 18: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, à 19: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, à 19: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, à 19:34)

#17 Le 25/09/2016, à 19: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, à 19: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, à 19:48)

Hors ligne

#19 Le 25/09/2016, à 19: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, à 19: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, à 19: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, à 11: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