Commande stty

Fonction

Permet d'affecter des valeurs aux paramètres d'exploitation du poste de travail, de les réinitialiser ou de les notifier.

Syntaxe

stty [ -a ] [ -g ] [ Options ]

Description

La commande stty permet de définir certaines options d'entrée-sortie pour l'unité qui fait actuellement office d'entrée standard. Elle renvoie le résultat sur la sortie standard.

Cette version du système d'exploitation utilise l'interface standard pour contrôler les terminaux et assure la compatibilité avec les interfaces POSIX et BSD. La commande stty prend en charge les options compatibles POSIX et BSD, mais il est vivement recommandé d'utiliser les options POSIX. Une liste des options BSD obsolètes et des options POSIX correspondantes vous est également fournie.

Lorsque vous redirigez l'entrée standard d'une unité tty en tapant :

 stty -a </dev/ttyx

la commande stty (POSIX) se bloque en attendant l'ouverture (open()) de l'unité jusqu'à ce que le signal de détection de porteuse RS-232 ait été vérifié. Cette règle n'est toutefois pas respectée si l'option clocal ou forcedcd (128 ports uniquement) est définie.

Options

-a Ecrit l'état en cours de tous les paramètres d'option sur la sortie standard.
-g Ecrit les paramètres d'option sur la sortie standard dans un format utilisable par une autre commande stty.

Options

La commande stty prend en charge les catégories d'options suivantes :

Modes de contrôle

Mode de contrôle Description
clocal Considère comme acquis qu'une ligne sans commande modem est présente.
-clocal Considère comme acquis qu'une ligne avec commande modem est présente.
cread Active le récepteur.
-cread Désactive le récepteur.
cstopb Sélectionne 2 bits d'arrêt par caractère.
-cstopb Sélectionne 1 bit d'arrêt par caractère.
cs5, cs6, cs7, cs8 Sélectionne la taille de caractère.
hup, hupcl Déconnecte une connexion à distance à la dernière fermeture.
-hup, -hupcl Ne déconnecte pas une connexion à distance à la dernière fermeture.
parenb Active la génération et la détection de parité.
-parenb Désactive la génération et la détection de parité.
parodd Sélectionne la parité impaire.
-parodd Sélectionne la parité paire.
0 Déconnecte immédiatement la ligne téléphonique.
débit Règle le débit en entrée et en sortie du poste de travail sur le nombre débit de bits par seconde. Les débits ne sont pas tous gérés par les interfaces matérielles. Les valeurs autorisées de débit sont les suivantes : 50, 75, 110, 134, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 19.2, 38400, 38.4, exta et extb.
Remarque :
exta, 19200 et 19.2 sont synonymes. extb, 38400 et 38.4 sont synonymes.
ispeed débit Règle le débit en entrée du poste de travail sur le nombre débit de bits par seconde. Les interfaces matérielles ne gèrent pas tous les débits et ne prennent pas nécessairement cette option en charge. Les valeurs autorisées de débit sont identiques à celles de l'option débit.
ospeed débit Règle le débit en sortie du poste de travail sur le nombre débit de bits par seconde. Les interfaces matérielles ne gèrent pas tous les débits et ne prennent pas nécessairement cette option en charge. Les valeurs autorisées de débit sont identiques à celles de l'option débit.
 

Modes entrée

Mode entrée Description
brkint Signale INTR lors d'une interruption.
-brkint Ne signale pas INTR lors d'une interruption.
icrnl Mappe les retours chariots (CR) sur les caractères d'avance ligne (LF).
-icrnl Ne mappe pas les retours chariots (CR) sur les caractères d'avance ligne (LF).
ignbrk Ne tient pas compte de BREAK en entrée.
-ignbrk Ne tient pas compte de BREAK en entrée.
igncr Ne tient pas compte des retours chariots (CR) en entrée.
-igncr Tient compte des retours chariots (CR) en entrée.
ignpar Ne tient pas compte des erreurs de parité.
-ignpar Tient compte des erreurs de parité.
inlcr Mappe les caractères d'avance ligne (LF) sur les retours chariots (CR).
-inlcr Ne mappe pas les caractères d'avance ligne (LF) sur les retours chariots (CR).
inpck Active le contrôle de parité.
-inpck Désactive le contrôle de parité.
istrip Réduit les caractères en entrée à 7 bits.
-istrip Ne réduit pas les caractères en entrée à 7 bits.
iuclc Mappe les majuscules sur des minuscules.
-iuclc Ne mappe pas les majuscules sur des minuscules.
ixany Gère tout caractère pour redémarrer la sortie.
-ixany Prend uniquement en charge le caractère de démarrage (START, séquence de touches Ctrl-Q) pour redémarrer la sortie.
ixoff Envoie les caractères de démarrage/d'arrêt (START/STOP) lorsque la file d'entrée est presque vide/pleine.
-ixoff N'envoie pas les caractères de démarrage/d'arrêt (START/STOP).
ixon Active le contrôle du démarrage/arrêt de la sortie. Une fois ce contrôle activé, vous pouvez suspendre la sortie vers le poste de travail en appuyant sur la séquence de touches Ctrl-S et la redémarrer en appuyant sur la séquence de touches Ctrl-Q.
-ixon Désactive le contrôle du démarrage/arrêt de la sortie.
imaxbel Renvoie le caractère de sonnerie en écho et élimine le dernier caractère en entrée en cas de dépassement de capacité.
-imaxbel Elimine la totalité de l'entrée en cas de dépassement de capacité.
parmrk Marque les erreurs de parité.
-parmrk Ne marque pas les erreurs de parité.
 

Modes sortie

Mode sortie Description
bs0, bs1 Sélectionne le style de retard des espacements arrière (bs0 signifie sans retard).
cr0,  cr1, cr2, cr3 Sélectionne le style de retard des retours chariots (CR) (cr0 signifie sans retard).
ff0, ff1 Sélectionne le style de retard de l'alimentation papier (FF) (ff0 signifie sans retard).
nl0, nl1 Sélectionne le style de retard des caractères d'avance ligne (NL) (nl0 signifie sans retard).
ofill Utilise des caractères de remplissage pour les retards.
-ofill Utilise le chronométrage pour les retards.
ocrnl Mappe les retours chariots (CR) sur les caractères d'avance ligne (NL).
-ocrnl Ne mappe pas les retours chariots (CR) sur les caractères d'avance ligne (NL).
olcuc Mappe les minuscules sur les majuscules en sortie.
-olcuc Ne mappe pas les minuscules sur les majuscules en sortie.
onlcr Mappe les caractères d'avance ligne (NL) sur les retours chariots (CR).
-onlcr Ne mappe pas les caractères d'avance ligne (NL) sur les retours chariots (CR).
onlret Sur le terminal, un caractère d'avance ligne (NL) équivaut à un retour chariot (CR).
-onlret Sur le terminal, un caractère d'avance ligne (NL) n'équivaut pas à un retour chariot (CR).
onocr Ne renvoie pas les retours chariots (CR) dans la colonne zéro.
-onocr Renvoie les retours chariots (CR) dans la colonne zéro.
opost Traite la sortie.
-opost Ne traite pas la sortie ; en d'autres termes, ne tient pas compte des autres options de sortie.
ofdel Utilise des caractères d'effacement (DEL) comme caractères de remplissage.
-ofdel Utilise des caractères nuls comme caractères de remplissage.
tab0, tab1, tab2 Sélectionne le style de retard des tabulations horizontales (tab0 signifie sans retard).
tab3 Remplace le caractère de tabulation par un nombre variable d'espaces.
vt0, vt1 Sélectionne le style de retard des tabulations verticales (vt0 signifie sans retard).
 

Modes locaux

Mode local Description
echo Renvoie en écho tout caractère tapé.
-echo Ne renvoie pas en écho les caractères tapés.
echoctl Renvoie en écho les caractères de commande sous la forme ^X (Ctrl-X), où X correspond au caractère obtenu en ajoutant 100 octal au code du caractère de commande.
-echoctl Ne renvoie pas en écho les caractères de commande sous la forme ^X (Ctrl-X).
echoe Renvoie en écho le caractère d'effacement (ERASE) sous la forme de la chaîne "backspace space backspace" (espacement arrière espace espacement arrière).
Remarque :
Ce mode n'assure pas le suivi de la position des colonnes. Vous risquez donc de ne pas obtenir les résultats escomptés lorsque vous effacez des tabulations, des séquences d'échappement, etc.
-echoe Ne renvoie pas en écho le caractère d'effacement (ERASE), seulement l'espacement arrière.
echok Renvoie un caractère d'avance ligne (NL) après un caractère de suppression (KILL).
-echok Ne renvoie pas un caractère d'avance ligne (NL) après un caractère de suppression (KILL).
echoke Renvoie en écho le caractère de suppression (KILL) en effaçant tous les caractères de la ligne en sortie.
-echoke Renvoie uniquement le caractère de suppression (KILL) en écho.
echonl Renvoie le caractère d'avance ligne en écho.
-echonl Ne renvoie pas le caractère d'avance ligne (NL) en écho.
echoprt Renvoie les caractères effacés à l'envers en insérant une barre oblique (/) et une barre oblique inverse (/).
-echoprt Ne renvoie pas les caractères effacés à l'envers en insérant une barre oblique (/) et une barre oblique inverse (/).
icanon Active l'entrée canonique (qui permet de d'éditer des lignes en entrée au moyen des caractères d'effacement (ERASE) et de suppression (KILL)).
-icanon Désactive l'entrée canonique.
iexten Active la reconnaissance des fonctions définies à la mise en oeuvre dans les données en entrée. La reconnaissance des caractères de commande suivants requiert l'activation de iexten : eol2, dsusp, reprint, discard, werase, lnext. Les fonctions associées aux modes suivants requièrent également l'activation de iexten : imaxbel, echoke, echoprt et echoctl.
-iexten Désactive la reconnaissance des fonctions définies à la mise en oeuvre dans les données en entrée.
isig Active la comparaison des caractères aux caractères de commande spéciaux INTR, SUSP et QUIT.
-isig Désactive la comparaison des caractères aux caractères de commande spéciaux INTR, SUSP et QUIT.
noflsh N'efface pas les mémoires tampons après les caractères de commande INTR, SUSP ou QUIT.
-noflsh Efface les mémoires tampons après les caractères de commande INTR, SUSP ou QUIT.
pending Spécifie qu'après un changement de mode (passage de sortie brute à sortie canonique), toute entrée en instance sera entrée à nouveau la prochaine fois qu'une opération de lecture sera mise en instance ou que de nouvelles données en entrée seront reçues. Pending est un bit d'état interne.
-pending Aucun texte n'est en instance.
tostop Renvoie SIGTOU pour les sorties en arrière-plan.
-tostop Ne renvoie pas SIGTOU pour les sorties en arrière-plan.
xcase Renvoie les majuscules en écho en entrée, mais en sortie les fait précéder d'une barre oblique inversée (\).
-xcase Ne renvoie pas en écho les majuscules.

Modes de contrôle du débit matériel

Ces options sont des extensions de la norme Guide de portabilité X/Open numéro 4.

Extension Description
cdxon Active le mode de contrôle du débit matériel en sortie.
-cdxon Désactive le mode de contrôle du débit matériel en sortie.
ctsxon Active le mode de contrôle du débit matériel CTS en sortie.
-ctsxon Désactive le mode de contrôle du débit matériel CTS en sortie.
dtrxoff Active le mode de contrôle du débit matériel DTR en entrée.
-dtrxoff Désactive le mode de contrôle du débit matériel DTR en entrée.
rtsxoff Active le mode de contrôle du débit matériel RTS en entrée.
-rtsxoff Désactive le mode de contrôle du débit matériel RTS en entrée.

Affectations de caractères de commande

Pour affecter un caractère de commande à une chaîne de caractères, entrez :

stty CaractèreCommande Chaîne

où le paramètre CaractèreCommande représente le caractère INTR, QUIT, ERASE, KILL, EOF, EOL, EOL2, START, STOP, SUSP, DSUSP, REPRINT, DISCARD, WERASE, LNEXT, MIN, ou TIME. (Utilisez les caractères MIN et TIME avec l'option -icanon.)

Remarque :
Les valeurs de MIN et TIME sont interprétées comme des valeurs entières et non des valeurs de caractères.

Le paramètre Chaîne peut être tout caractère unique, tel que c. Exemple d'affectation de caractère de commande :

stty STOP c

Une autre méthode d'affectation consiste à entrer une séquence de caractères composée d'une barre oblique inversée et d'un caret ( \^), suivie d'un caractère unique. Si le caractère unique qui suit le caret ( ^ ) est répertorié dans la colonne ^c (caret c) du tableau ci-après, la valeur du caractère de commande correspondant est définie. Pour affecter le caractère de commande d'effacement (ERASE) en utilisant le point d'interrogation (?), par exemple, entrez la chaîne \^? (barre oblique inversée, caret, point d'interrogation), comme suit :

stty ERASE \^?
^c Valeur
a, A <SOH>
b, B <STX>
c, C <ETX>
d, D <EOT>
e, E <ENQ>
f, F <ACK>
g, G <BEL>
h, H <BS>
i, I <HT>
j, J <LF>
k, K <VT>
l, L <FF>
m, M <CR>
n, N <SO>
o, O <SI>
p, P <DLE>
q, Q <DC1>
r, R <DC2>
s, S <DC3>
t, T <DC4>
u, U <NAK>
v, V <SYN>
w, W <ETB>
x, X <CAN>
y, Y <EM>
z, Z <SUB>
[ <ESC>
\ <FS>
] <GS>
^ <RS>
_ <US>
? <DEL>
@ <NUL>

Modes de combinaison

Mode de combinaison Description
cooked Voir option -raw.
ek Règle les caractères d'effacement (ERASE) et de suppression (KILL) sur les séquences de touches Ctrl-H et Ctrl-U, respectivement.
evenp Active parenb et cs7.
-evenp Désactive parenb et active cs8.
lcase, LCASE Active xcase, iuclc et olcuc. S'utilise uniquement sur les postes de travail gérant les majuscules.
-lcase, -LCASE Active -xcase, -iuclc et -olcuc.
nl Active -icrnl et -onlcr.
-nl Active icrnl, onlcr, -inlcr, -igncr, -ocrnl, et -onlret.
oddp Active parenb, cs7 et parodd.
-oddp Désactive parenb et active cs8.
parity Voir option evenp.
-parity Voir option -evenp.
sane Réaffecte des valeurs raisonnables aux paramètres.
raw Autorise le mode d'entrée brute (pas de traitement en entrée, tel que erase, kill, ou interrupt) ; le bit de parité est retransmis.
-raw Autorise le mode d'entrée canonique.
tabs Conserve les tabulations.
-tabs, tab3 Remplace les tabulations par des espaces à l'impression.

Taille de fenêtre

Taille de fenêtre Description
cols n, columns n La taille du terminal (fenêtre) est enregistrée sous la forme n colonnes.
rows n La taille du terminal (fenêtre) est enregistrée sous la forme n lignes.
size Imprime les dimensions de terminal (fenêtre) sur la sortie standard (d'abord les lignes, puis les colonnes).

Options obsolètes

Les options BSD suivantes sont prises en charge par la commande stty. La commande POSIX recommandée est indiquée pour chacune d'elles.

Option Description
all Utilisez la commande stty -a pour afficher tous les paramètres en cours.
crt Utilisez l'option sane pour rétablir des valeurs de paramètre raisonnables.
crtbs Utilisez l'option -echoe.
crterase Utilisez l'option echoe.
-crterase Utilisez l'option -echoe.
crtkill Utilisez l'option echoke.
-crtkill Utilisez les options echok et -echoke.
ctlecho Utilisez l'option echoctl.
-ctlecho Utilisez l'option -echoctl.
decctlq Utilisez l'option -ixany.
-decctlq Utilisez l'option ixany.
even Utilisez l'option evenp.
-even Utilisez l'option -evenp.
everything Utilisez la commande stty -a pour afficher tous les paramètres en cours.
litout Utilisez l'option -opost.
-litout Utilisez l'option opost.
odd Utilisez l'option oddp.
-odd Utilisez l'option -oddp.
pass8 Utilisez l'option -istrip.
-pass8 Utilisez l'option istrip.
prterase Utilisez l'option echoprt.
speed Utilisez la commande stty pour afficher les paramètres en cours.
tandem Utilisez l'option ixoff.
-tandem Utilisez l'option -ixoff.

Exemples

  1. Pour afficher un résumé de la configuration de votre poste de travail, entrez :

    stty

    Les paramètres dont les valeurs ont été personnalisées s'affichent.

  2. Pour afficher la configuration complète de votre poste de travail, entrez :
    stty  -a
  3. Pour activer une séquence de touches qui vous permet d'arrêter le défilement des listes afin d'éviter que le début ne disparaisse de l'écran, entrez :

    stty ixon ixany

    Cette commande active le mode ixon, qui vous permet d'empêcher les listes de défiler en appuyant sur la touche Ctrl-S. L'option ixany vous permet de réactiver le défilement en appuyant sur n'importe quelle touche. La configuration standard du poste de travail inclut les options ixon et ixany. Elle vous permet d'arrêter une liste à l'aide de la séquence de touches Ctrl-S. Pour la faire défiler à nouveau, vous devez appuyer sur Ctrl-Q.

  4. Pour restaurer une configuration détraquée, entrez :
    Ctrl-J stty  sane Ctrl-J
    Appuyez sur la séquence de touches Ctrl-J avant et après la commande, plutôt sur la touche Entrée. Le système reconnaît généralement la séquence de touches Ctrl-J lorsque les paramètres qui contrôlent le traitement de la touche Entrée sont détraqués.

    Il peut arriver que des informations anormales s'affichent à l'écran ou que le système ne réagisse pas lorsque vous appuyez sur la touche Entrée. Cette situation se produit généralement lorsque vous utilisez la commande sttyavec des paramètres incompatibles ou que vous ne savez pas très bien ce que vous faites. C'est aussi le cas lorsqu'une application orientée écran prend fin de manière anormale, sans réinitialiser la configuration du poste de travail.

    La commande stty sane vous permet de rétablir une configuration raisonnable, qui peut toutefois différer légèrement de votre configuration habituelle.

  5. Pour sauvegarder et restaurer la configuration du terminal, entrez :

    OLDCONFIG=`stty -g`   # sauvegarder la configuration stty -echo  # ne pas afficher le mot de passe
    echo "Entrez le mot de passe : \c"
    read PASSWD       # obtenir le mot de passe
    stty $OLDCONFIG              # restaurer la configuration

    Cette commande sauvegarde la configuration du poste de travail, désactive l'écho, lit un mot de passe et restaure la configuration d'origine.

    La commande stty -echo désactive l'écho, ce qui signifie que le mot de passe ne s'affiche lorsque vous le tapez au clavier. Elle n'a rien à voir avec la commande echo, qui affiche un message à l'écran.

Fichier

/usr/bin/stty Contient la commande stty.

Envoyer un commentaire | Evaluer la page