46 votes

cygwin clearscreen depuis bash

Je veux faire un clearscreen à partir de bash dans un terminal cygwin. J'ai essayé

cmd /c cls
echo -e "^V^L"
echo -e "\014"

Aucune d'entre elles ne fonctionne - elles donnent toutes un "saut de ligne". Appuyer sur CTRL+L fonctionne - mais je veux l'appeler à partir d'un script Bash.

Des idées ?

0 votes

@Mat : Cela a le même effet que Ctrl+L, cela ne fait que pousser le texte vers le haut de l'écran mais ne l'efface pas.

1 votes

L'entrée mentionnée ci-dessous devrait faire partie de ncurses.

0 votes

Le caractère Control-L (qui est un saut de page et non un saut de ligne) ne fait généralement rien lorsqu'il est imprimé sur des émulateurs de terminal de type vt100.

171voto

gNU.be Points 789

Ou vous pouvez essayer ctrl-L :)

Cela devrait également fonctionner dans la plupart des terminaux émulés.

4 votes

Extrait de la question : "Appuyer sur CTRL+L fonctionne - mais je veux l'appeler depuis un script Bash."

7 votes

CTRL+L semble seulement faire défiler l'ancien contenu, et non le supprimer comme ALT+F

1 votes

Wow, cette réponse paie vraiment les factures ! Sheesh, je me demande ce que "sudo ! !" me rapporterait.

67voto

Abudayah Points 1535

Il y a deux façons :

Utilisation des raccourcis

Alt+F8 pour effacer l'écran et Ctrl-L pour passer à la page suivante

Utilisation de Clear alias

  1. Allez-y : cygwin\home\USER\.bashrc
  2. Ouvrir .bashrc et mettez cet alias alias clear='printf "\033c"' .
  3. redémarrez votre terminal cygwin.
  4. pour effacer votre écran, utilisez clear commandement.

1 votes

De la question : "Appuyer sur CTRL+L fonctionne - mais je veux l'appeler depuis un script Bash."

35voto

mikyra Points 3595

S'il est contenu dans votre installation cygwin (exécutez le setup de Cygwin et vérifiez que vous avez le paquet appelé "ncurses"), essayez

tput clear

4 votes

La vraie réponse ici est : installez ncurses, puis la commande "normale" clear fonctionne comme Keith l'a dit.

26voto

vertikalist Points 181

J'ai ceci dans mon ~/.bashrc :

alias clear='printf "\033c"'

de même, printf " \033c " efface l'écran à partir d'un script bash.

0 votes

Une solution intelligente. Je viens de l'ajouter à mon .bashrc

2voto

Ravi Macha Points 619

Alt+F8 pour effacer l'écran et Ctrl-L pour sauter une page

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X