Le terminal garde en mémoire un ancien affichage

bonjour ,

debian 11 / Xfce

les commandes clear , reset ou printf « \ec » et autre cat /dev/null > ~/.bash_history && history -c && reset effacent bien le contenu de l’écran du terminal ainsi que l’historique des commandes mais si j’ouvre un nouveau terminal l’écran n’est pas vide et affiche toujours la même chose qui provient d’une commande ancienne . De quand = ?
ps : un redémarrage n’a pas réglé le problème

Pour clarifier un clear nettoie l’affichage, il ne vide pas l’historique, history -c lui vide l’historique.

Tu nous précise donc que lorsque tu vide l’historique d’un user et que tu réouvre un terminal avec ce même utilisateur ton historique n’est pas vierge ?

Pour confirmer avec ton user :

echo "j'aime pas les trucs bizzzzzzzzzzzzzzarre"

tu fais un clean et un history -c, tu ferme le terminal (pas d’autre ouvert bien entendu ^^).
Tu réouvre le terminal et tu vérifie si avec la flèche du haut ton historique n’est pas vierge …

PS : il t’arrives toujours des trucs fantastiques :sweat_smile:

probablement parce que je fais des trucs pas clairs dont je ne maîtrise pas la portée .

Ce problème doit être lié à l’utilisateur mm car en root je ne semble pas avoir de problème : l’écran est vierge .

après avoir créé un nouvel utilisateur et ouvert un terminal associé : pas de problème .

Pardon pour la question bête, mais je viens de lire les messages et je ne comprends pas vraiment ce qui s’affiche et que tu ne voudrais pas que ça s’affiche. Sont-ce des entrées dans l’historique de l’interpréteur de commande ou des choses qui s’affichent dans le terminal ? Si c’est quelque chose qui s’affiche dans le terminal, il serait bien de nous montrer (par pitié, pas une capture d’écran) de quoi il s’agit.

normalement à l’ouverture d’un terminal l’écran devrait être vierge , non ? Depuis peu ça n’est plus le cas et un texte , toujours le même , s’affiche . Si j’ouvre deux terminaux côte à côte leur écran est identique . Si j’utilise clear ou exit ou … la réouverture donne encore le même texte quelques soient les commandes que j’ai pu exécuter .

Bon, je ne comprends pas du tout le problème. Comme je ne sais même pas si ce sont des messages d’erreur, je ne suis absolument pas capable de t’aider à trouver pourquoi ils s’affichent. Il est même possible que ton interpréteur ne soit même pas bash…

Non. Ça dépend du programme qui l’utilise comme sortie (généralement un shell, mais pas forcément).
Il va falloir être beaucoup plus précis et concret. Quel terminal, quel programme associé, quel affichage ?

pas du tout , c’est le contenu de .bash_aliases sauf la dernière ligne qui signale une erreur et qui vient de ??

alias ad='sudo apt update && sudo apt upgrade'
alias alias='alias ; (alias) | wc -l'
alias arm='sudo apt autoremove'
alias arr='sudo shutdown -P now'
alias assh='sudo systemctl stop ssh'
alias dssh='sudo systemctl start ssh'
alias en='LANG=en'
alias fr='sudo find / -type d -name'
alias ls='ls --color=auto'
alias lsg='ls --group-directories-first -A; (ls -A) | wc -l'
alias scan='xsane SANE URI: hpaio:/net/Deskjet_3070_B611_series?ip=192.168.1.16'
alias sr='sudo shutdown -r 0'
alias ss='sensors'
wc: 'grep=grep --color': Aucun fichier ou dossier de ce type

mm@Xfce:~$ cat .bash_aliases  --> contenu actuel 
alias ss='sensors'
....
alias grep='grep --color'

pour le moment je m’en débarrasse avec clear

Il est même possible que ton interpréteur ne soit même pas bash…

mm@Xfce:~$ cat /proc/$$/cmdline
bash

Elle est bizarre cette erreur.
Sinon, pour l’affichage, du dois avoir la commande alias qui est exécutée au lancement de ton interpréteur de commande. Il faudrait regarder dans le fichier .bashrc.

Non, elle est parfaitement logique avec cet alias pourri :

On a inévitablement cette erreur quand on essaie de créer les alias suivants.

ben voilà ! un seul alias pourri et ça vous pourrit une existence pépère d’utilisateur d’une distribution qui marche impeccablement .

Par contre j’aimerais bien savoir ce que cet alias qui ne m’avait jamais posé de problème jusqu’à très récemment a de pourri .

Avec cet alias, la commande pour créer un alias

alias grep='grep --color'

devient

alias; alias | wc -l grep='grep --color'

Résultat : au lieu de créer un alias, cette commande affiche la liste des alias et demande à wc de compter le nombre de lignes du fichier « grep='grep --color' » qui bien entendu n’existe pas, d’où l’erreur.
Ça pouvait marcher tant qu’il était en dernier et qu’on ne cherchait pas à créer d’autres alias.

c’est effectivement à partir du moment où j’ai voulu créer ce nouvel alias , avant-hier , que les problèmes ont commencé avec le terminal , mais aussi avec la commande source .bash_aliases qui répétait la même opération pour chaque ligne du fichier . J’ai bien interrogé duck mais je ne risquais pas de trouver une telle erreur que je dois être le seul dans l’univers linux à avoir commise . Comme le dit @Clochette

PS : il t’arrives toujours des trucs fantastiques :sweat_smile:

merci aux intervenants

  • cerise sur le gâteau : je viens de gagner mon 1er émoji . Merci @Clochette

ps : comme je veux garder cet alias avec son comptage de lignes , pourri ou pas , je l’ai mis en dernier , où il restera , pour éviter l’écueil signalé par @PascalHambourg et ça a l’air de fonctionner . Mais si ça pose problème un A devrait suffire à le régler .

ben non , ça n’a pas tenu longtemps : le même comportement du terminal est apparu . Du coup j’ai utilisé Alias .

Ça ne fonctionne pas après ta modification, mais tu t’obstines.
On va essayer autrement.
Au bout de 14 messages, je ne comprends toujours rien à tes messages:

• « cet alias » → lequel très précisément
• « son comptage de lignes » → le comptage de lignes de quoi ?
• « je veux garder cet alias, pourri ou pas » → pourquoi demandes-tu de l’aide pour quelque-chose de pourri dont tu n comprends pas ce qu’il est sensé faire ?

Pour résumer, tu veux faire quoi, concrètement ? Le sais-tu ?

mais , mais si , je comprends . Mais je plaide coupable car si j’avais été plus explicite dès le départ on aurait pu éviter pas mal de discussions inutiles .
Pour te répondre plus directement : cet alias m’est , encore aujourdhui , très utile comme outil de comparaison rapide et fiable lorsque je fais des sauvegardes « manuelles » , en utilisant le protocole ssh entre les différents supports , et ce fichier fait partie des éléments sauvegardés . Lorsque je serai à même d’utiliser un outil genre rsync à ce moment là je pourrai m’en passer . Désolé d’en être encore à un stade toujours aussi primitif .

De plus si je veux me souvenir des alias mieux vaut que leur nom corresponde à quelque chose qui fasse tilt , dans mon esprit , pas dans celui de Mr X ou Y . D’où ma persistence à vouloir le nommer Alias . Mais je l’ai simplifié en enlevant la fonction affichage qui n’est pas indispensable pour la comparaison . Si besoin le « a » l’assurera .

note : à la relecture des alias je me suis aperçu de l’erreur dans un ancien alias que je n’utilise plus . J’aurai au moins fait un peu de ménage .

Pourquoi as-tu autant de mal à te faire comprendre simplement et vouloir toujours faire des trucs tordus, voir ‹ pourris › (je te cite), avec insistance et obstination ?

Donc ça marche ? Ça ne marche pas ? Ça marchait ? Ça ne marche plus ?

ben non , ça n’a pas tenu longtemps : le même comportement du terminal est apparu .
Du coup j’ai utilisé Alias .

alias est une commande.
C’est quoi cet « Alias » ? Un alias ? Une variable ?
Ça sert à quoi ?
Est-ce si compliqué de faire un copier/coller clair de cette ligne, comme demandé ?
Je commence à me demander si ce n’est pas moi qui comprends rien.
Comme ce n’est pas la première fois que j’ai du mal à comprendre ta logique, tout est possible.

c’est le nouveau nom choisi pour Alias=‹ alias | wc -l › afin que le problème signalé par @PascalHambourg ne se reproduise pas . J’ai bien réalisé une dizaine d’essais successifs et cette fois-ci la « rustine » tient bon .

Si dès la fabrication de l’ancien alias ( a minuscule ) j’avais eu un problème je me serai aperçu qu’il s’agissait d’un alias pourri (le terme n’est pas de moi ) . Malheureusement plusieurs mois se sont écoulés et j’ai pu modifier la liste sans dommage apparent sauf à l’occasion d’un nouvel ajout le comportement anormal de source .bash_aliases … jusqu’à ce que l’alias « grep » vienne tout chambouler et entraîne l’entrée en lice de l’écran du terminal . Mais bon , @PascalHambourg a bien débusqué le coupable et c’est le principal .

Donc affaire classée , mais pas dans les cold case ( histoire de faire moderne ) .

Alias est une variable et non un alias.
Tu fais quoi avec cette variable ?
Peux-tu montrer un exemple concret que ce soit bien clair pour conclure.

ah bon ? Pourtant :

mm@Xfce:~$ alias 
alias Alias='alias | wc -l'
alias ad='sudo apt update && sudo apt upgrade'
alias arm='sudo apt autoremove'
alias arr='sudo shutdown -P now'
alias en='LANG=en'
alias fr='sudo find / -type d'
alias grep='grep --color'
alias ls='ls --color=auto'
alias lsg='ls --group-directories-first -A; (ls -A) | wc -l'
alias scan='xsane SANE URI: hpaio:/net/Deskjet_3070_B611_series?ip=192.168.1.16'
alias sr='sudo shutdown -r 0'
alias ss='sensors'