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
- 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.
- Pour afficher la configuration complète de votre poste de travail, entrez :
- 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.
- Pour restaurer une configuration détraquée, entrez :
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.
- 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. |