Plusieurs lignes bash commande introuvable au démarrage de la console Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

Bonjour à tous.

Je ne sais pas vraiment si je suis au bon endroit et je m'en excuse d'avance si ce n'est pas le cas, et merci de m'indiquer où aller si jamais.

Je ne sais pas ce que j'ai modifié, ni quand... mais ça fait un moment que j'ai ça à chaque fois que j'ouvre une console :
bash: version: : commande introuvable
bash: services: : commande introuvable
bash: web: : commande introuvable
bash: image: : commande introuvable
bash: ports: : commande introuvable
bash: - : commande introuvable
bash: links: : commande introuvable
bash: - : commande introuvable
bash: php: : commande introuvable
bash: image: : commande introuvable
Ça s'affiche juste avant le prompt.

Pour situer je suis sur debian 11 KDE.

Ça le fait avec Konsole, Termit, ou même si je change de tty.

Est-ce que vous pouvez, s'il vous plaît, me guider pour trouver d'où ça vient ?
--
Errare humanum est, perserverare diabolicum.
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

Est-ce que tu peux partager ici le contenu des fichiers suivants ?
  • ~/.bashrc
  • ~/.profile
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

~/.bashrc

Code : Tout sélectionner

# ~/.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|*-256color) 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

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# 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       

~/.profile

Code : Tout sélectionner

# ~/.profile: executed by the command interpreter for login shells.                                         
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login                                     
# exists.                                                                                                   
# see /usr/share/doc/bash/examples/startup-files for examples.                                              
# the files are located in the bash-doc package.                                                            
                                                                                                            
# the default umask is set in /etc/profile; for setting the umask                                           
# for ssh logins, install and configure the libpam-umask package.                                           
#umask 022                                                                                                  
                                                                                                            
# if running bash                                                                                           
if [ -n "$BASH_VERSION" ]; then                                                                             
    # include .bashrc if it exists                                                                          
    if [ -f "$HOME/.bashrc" ]; then                                                                         
    . "$HOME/.bashrc"                                                                                       
    fi                                                                                                      
fi                                                                                                          
                                                                                                            
# set PATH so it includes user's private bin if it exists                                                   
if [ -d "$HOME/bin" ] ; then                                                                                
    PATH="$HOME/bin:$PATH"                                                                                  
fi                                                                                                          
                                                                                                            
# set PATH so it includes user's private bin if it exists                                                   
if [ -d "$HOME/.local/bin" ] ; then                                                                         
    PATH="$HOME/.local/bin:$PATH"                                                                           
fi                 
--
Errare humanum est, perserverare diabolicum.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5854
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

question basique. Le paquet bash est il bien installé ?
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

Déjà vérifié :
bash est déjà la version la plus récente (5.1-2+deb11u1).
:good:
--
Errare humanum est, perserverare diabolicum.
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Bonjour

Donne nous le retour de la ligne de commande suivante
lancée depuis ton compte utilisateur (pas root) :

Code : Tout sélectionner

cat ~/.bashrc
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

Code : Tout sélectionner

empr@Jupiter:~$ cat ~/.bashrc
# ~/.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|*-256color) 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

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# 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
empr@Jupiter:~$
--
Errare humanum est, perserverare diabolicum.
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

Je viens de comprendre pourquoi tu me redemandais ~/.bashrc

J'ai édité mon post.
--
Errare humanum est, perserverare diabolicum.
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

Aucun problème visible dans les deux fichiers que tu as partagés.

Est-ce que tu peux aussi partager le contenu de ~/.bash_aliases, si celui-ci existe ?
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

Pas de fichier ~/.bash_aliases
--
Errare humanum est, perserverare diabolicum.
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

J’arrive à cours d’inspiration pour l’instant. Les erreurs qu‘on voit sont liées à un fichier qui est sourcé ou exécuté lors du lancement d’un prompt bash, mais aucun des fichiers que tu as partagé n’en est la source.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

vv222 a écrit : 07 août 2023, 13:34 un fichier qui est sourcé ou exécuté lors du lancement d’un prompt bash

C'est ce que j'ai pensé aussi,
l faudrait donc rechercher un fichier contenant :

Code : Tout sélectionner

version 
services 
web 
image 
ports 
links 
php 
image  
ou une liste équivalente sur 1 ligne.

Je ne suis pas très fortiche pour ce genre de commande :blush:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

Créer une variable avec la liste, et utiliser cette variable dans une boucle eachfor, mais je mets quoi dans la boucle ?
--
Errare humanum est, perserverare diabolicum.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

J'ai trouvé cet exemple : https://unix.stackexchange.com/question ... t-of-words
assez proche mais avec un motif pour le nom du fichier à trouver :

Code : Tout sélectionner

awk -v required_words='ből dének jeként jében jéből jéhez jének jéről jét jével jéül' '
    function check() {
        for (w in seen) if (!seen[w]) return;
        print last_file;
    }
    BEGIN {
        split(required_words, a);
        for (i in a) seen[a[i]] = 0;
    }
    NR==1 { last_file = FILENAME; }
    FNR==1 && NR!=1 { check(); for (w in seen) seen[w] = 0; }
    END { check() }
    { split($0, a, /[^[:alpha:]]+/);
      for (i in a) if (a[i] in seen) seen[a[i]]=1; }
' *model.txt

Tu peux tenter de l'adapter.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

Je ne maîtrise pas awk...
Je ne comprends d'ailleurs pas ce que je lis... :blush:

J'ai fait ça :

Code : Tout sélectionner

sudo awk -v required_words='version services web image ports links php image' '
    function check() {
        for (w in seen) if (!seen[w]) return;
        print last_file;
    }
    BEGIN {
        split(required_words, a);
        for (i in a) seen[a[i]] = 0;
    }
    NR==1 { last_file = FILENAME; }
    FNR==1 && NR!=1 { check(); for (w in seen) seen[w] = 0; }
    END { check() }
    { split($0, a, /[^[:alpha:]]+/);
      for (i in a) if (a[i] in seen) seen[a[i]]=1; }
' ~/*
awk: ligne de commande:8: avertissement : L'argument « /home/empr/Bureau » de la ligne de commande est un répertoire : ignoré
awk: ligne de commande:14: avertissement : L'argument « /home/empr/Documents » de la ligne de commande est un répertoire : ignoré
awk: ligne de commande:14: avertissement : L'argument « /home/empr/Dropbox » de la ligne de commande est un répertoire : ignoré
Il ignore tous les dossiers, et je ne sais pas comment lui indiquer autre chose... ou sinon, dans quel dossier chercher...
--
Errare humanum est, perserverare diabolicum.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

EMPR a écrit : 07 août 2023, 14:46 Je ne maîtrise pas awk...
itou :rolleyes:

Perso je ne l'aurais pas passé en #root, peut-être pas sur le système complet mais au moins sur /etc/* et /home/*

Pour ne pas avoir les erreurs dues aux répertoires ( awk ne traitant que des fichiers ) faudrait un filtrage en amont....
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
Grhim
Membre très actif
Membre très actif
Messages : 1389
Inscription : 30 mai 2016, 01:00
Localisation : kekparr'par'là
Status : Hors-ligne

EMPR a écrit : 06 août 2023, 19:17 Bonjour à tous.

Je ne sais pas vraiment si je suis au bon endroit et je m'en excuse d'avance si ce n'est pas le cas, et merci de m'indiquer où aller si jamais.

Je ne sais pas ce que j'ai modifié, ni quand... mais ça fait un moment que j'ai ça à chaque fois que j'ouvre une console :
bash: version: : commande introuvable
bash: services: : commande introuvable
bash: web: : commande introuvable
bash: image: : commande introuvable
bash: ports: : commande introuvable
bash: - : commande introuvable
bash: links: : commande introuvable
bash: - : commande introuvable
bash: php: : commande introuvable
bash: image: : commande introuvable
Ça s'affiche juste avant le prompt.

Pour situer je suis sur debian 11 KDE.

Ça le fait avec Konsole, Termit, ou même si je change de tty.

Est-ce que vous pouvez, s'il vous plaît, me guider pour trouver d'où ça vient ?
:017: je regarderais si le PATH est correct et qu'il n'y manque pas le /sbin

Je me rappelle aussi d'un apt-cache Bash version ... Faut que je retrouve la bonne commande
Debian Stable + Testing -.- Parrot OS - Kali Exegol -.- Raspberry IPFire
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Pour la recherche j'ai fait un essai avec catfish outil de recherche GTK => ça fonctionne bien !
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
Grhim
Membre très actif
Membre très actif
Messages : 1389
Inscription : 30 mai 2016, 01:00
Localisation : kekparr'par'là
Status : Hors-ligne

ha yeahs,

Code : Tout sélectionner

apt-cache show bash
, ou

Code : Tout sélectionner

apt info bash
pour savoir pour le PATH

Code : Tout sélectionner

env $PATH
regarde a partir de 5 ways to fix "Command not found" errors

https://www.redhat.com/sysadmin/fix-com ... rror-linux

Sinon vite fait :


Tu a l'erreur

Code : Tout sélectionner

bash: service: command not found
car la command 'service' n'est pas trouver donc pour savoir où 'service se trouve :

Code : Tout sélectionner

whereis service
te montrera normalement ou il est :

Code : Tout sélectionner

/usr/sbin/service
tu peux ajouter '/usr/sbin` a ton $PATH

Code : Tout sélectionner

PATH=/usr/sbin:$PATH
regarde si service réapparais après ça...
Debian Stable + Testing -.- Parrot OS - Kali Exegol -.- Raspberry IPFire
Avatar de l’utilisateur
EMPR
Membre
Membre
Messages : 23
Inscription : 06 août 2023, 18:56
Status : Hors-ligne

Ça donne tout ça :

Code : Tout sélectionner

bash: version: : commande introuvable
bash: services: : commande introuvable
bash: web: : commande introuvable
bash: image: : commande introuvable
bash: ports: : commande introuvable
bash: - : commande introuvable
bash: links: : commande introuvable
bash: - : commande introuvable
bash: php: : commande introuvable
bash: image: : commande introuvable
empr@Jupiter:~$ printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
empr@Jupiter:~$ whereis service
service: /usr/sbin/service /usr/share/man/man8/service.8.gz
empr@Jupiter:~$ PATH=/usr/sbin:$PATH
empr@Jupiter:~$ printenv PATH
/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
empr@Jupiter:~$ 
Sauf que, si je ferme la console, et que je rouvre, PATH ne contient plus sbin :

Code : Tout sélectionner

bash: version: : commande introuvable
bash: services: : commande introuvable
bash: web: : commande introuvable
bash: image: : commande introuvable
bash: ports: : commande introuvable
bash: - : commande introuvable
bash: links: : commande introuvable
bash: - : commande introuvable
bash: php: : commande introuvable
bash: image: : commande introuvable
empr@Jupiter:~$ printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
empr@Jupiter:~$ 
--
Errare humanum est, perserverare diabolicum.
Répondre