yes (Unix)
yes
est une commande Unix , qui génère une réponse affirmative, ou une chaîne de texte définie par l'utilisateur, en continu jusqu'à la suppression
Cet article concerne la commande Unix. Pour les autres significations, voir Yes (homonymie).
La description
En elle-même, la commande yes
renvoie le « y » ou tout autre élément spécifié en tant qu'argument, suivi d'un saut de ligne à plusieurs reprises jusqu'à ce qu'il soit arrêté par l'utilisateur ou tué d'une autre manière; lorsqu'il est connecté à une commande, il continue jusqu'à ce que le tuyau se rompt (c'est-à-dire que le programme termine son exécution). Cependant, si l'utilisateur entre une chaîne après « yes », la sortie sera identique à « y », comme pour écho .
Les usages
yes
peut être utilisé pour envoyer une réponse affirmative (ou négative; par exemple, yes n
) à toute commande qui en demanderait autrement une, entraînant ainsi l'exécution de la commande de manière non interactive.
Piping yes à une commande avec de nombreuses invites de conformation de l'utilisateur répondra automatiquement à toutes ces invites par "yes" (en tapant "y" et en appuyant sur la touche Entrée).
sudo yes | apt install foobar
répondra aux invites pour confirmation avec y, installant effectivement foobar sans invites.
Cette utilisation peut être obsolète aujourd'hui, car la plupart des commandes qui demandent une réponse à l'utilisateur ont soit une option 'force' (par exemple, rm -f
), soit une option 'assume-oui' (par exemple, apt -y
).
À titre d'exemple, les éléments suivants:
rm -f *.txt
est fonctionnellement équivalent à
yes | rm *.txt
La commande yes
associée à la commande head peut être utilisée pour générer des fichiers volumineux à des fins de test. Par exemple, en exécutant
yes 1234567 | head -1000 > file
résulte en un fichier composé de 1000 lignes comprenant chacune huit caractères (1, 2, 3, 4, 5, 6, 7 et nouvelle ligne)
Lectures complémentaires
Montfort, Nick (). Le programme trivial «oui» (PDF) (Rapport technique). Cambridge, Massachusetts: Réservoir Trope. 12-01 . Consulté le 21/03/2017 .
Notes et références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « yes (Unix) » (voir la liste des auteurs).
Liens externes
- Manpage pour
oui
(version GNU ) - Implémentation GNU coreutils yes.c
- Implémentation FreeBSD yes.c
- NetBSD yes.c implémentation
- Implémentation d'OpenBSD yes.c
- Portail de l’informatique