Invite, prompt

De Diablotins.org.

(Redirigé depuis Invite)


Image:brush.png

L'«invite» ou «prompt» est, dans un terminal, le ou les caractères qui vous «invitent» à entrer vos ordres.
Ils diffèrent selon l'utilisateur:

  1. «#» Administrateur.
  2. «$» Autres utilisateurs.

Cette invite est configurée selon les interpréteurs de commandes par la variable «prompt» en général et peut présenter des invites plus ou moins confortables voire tout à fait farfelues.


Bases

Par exemple:

set prompt="%B[%n@%m]%b%/:" 
ou, pour modifier en plus la barre de titre dans un Xterm:
set ellipsis set prompt='%{^[]0;%n@%m, %.03, %P^G%}%B[%n@%m]%b%/:'

«ellipsis» modifie les caractères qui résument un chemin trop long, «<1>» ou «...».
De même «promptchars» défini le caractère de l'invite pour un utilisateur et pour root:

set promptchars = \$\#

Mais qu'est ce que c'est que ce charabia ?

Le caractère d'échappement est le signe «%», suivi d'un caractère qui va définir quelques variables, mais qui peuvent varier selon les shells.

  • Qui
%n: L'utilisateur
%m, %M: la machine hôte, avec ou sans détails.
%n@%m - %M
light@david -david.dmarec.homeunix.net
%# L'invite selon que l'on soit «root» ou un utilisateur, selon promptchars.
%/: Chemin actuel complet
%~: Chemin actuel, utilisant ~
%c0 n,%C0 n: Une combinaison du chemin actuel, sur n niveaux, ~, ou pas.
0, utilise une «ellipsis» en tête, soit «<1>» ou «...» si la variable ellipsis est définie.
%.xx: Chemin actuel, sur xx niveaux.
%h: un index d'historique.
%l: Le terminal utilisé
  • Quand
%T,%t: heure actuelle, aux formats 12 et 24h.
%P: comme précédemment, avec les secondes
%d,%D: Jour de la semaine, en lettres et en chiffres
%w,%W: Mois en lettres et en chiffres
%y,%Y: année sur deux ou trois chiffres.
set prompt="%P - %d %D%s %Y"
18:09:14 - Sat 31 2009
  • Coloriage
%B, %b: je grasse, ou pas.
%U, %u: je souligne, ou pas.
%S, %s: inversion des couleurs
  • trucs de ouf
%{xxxxx}, «super» séquence d'échappement, au delà du prompt et du shell, appelle les séquences du terminal.
%?: Code de retour de la dernière commande.

CSH

L' interpréteur CSh/Tcsh va vous permettre de changer l'invite selon le terminal,

à l'aide de “.cshrc”, script de ressources lu au chargement:
if ( $TERM == "xterm-color" ) then
 set ellipsis 
 set prompt="%{^[]0;%n@%m, %c03, %P ^G%}%S%n%s %C04:"	
endif
  • Nota:

La liste des caractères de contrôle de Xterm est documentée dans le fichier ctlseqs.txt des sources de Xterm. Use the source Luke !

Projets :