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
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