Qu'est-ce que la commande «oui»?


29

J'ai émis une commande dans le terminal Ubuntu qui m'obligeait à taper oui mais j'ai découvert que cela ne me demandait que la première fois, mais j'avais déjà appuyé sur Entrée avant de me rendre compte. Je m'attendais donc à un message "commande introuvable" mais à la place, j'ai reçu un flux sans fin de "y". Cela semble être la seule chose que cela fait, donc je me demande quel est le point de cette commande et pourquoi elle génère des "y". (Ubuntu 11.10)

Réponses:


14

De wikipedia :

En elle-même, la commande yes génère «y» ou tout ce qui est spécifié en tant qu'argument, suivi d'un retour à la ligne à plusieurs reprises jusqu'à ce qu'il soit arrêté par l'utilisateur ou autrement tué; lorsqu'il est inséré dans une commande, il continuera jusqu'à ce que le canal se brise (c'est-à-dire que le programme termine son exécution).

Il peut également être utilisé pour tester la façon dont un système gère les charges élevées, car l'utilisation de oui entraîne une utilisation de 100% du processeur, pour les systèmes avec un seul processeur (pour un système multiprocesseur, un processus doit être exécuté pour chaque processeur). Cela peut, par exemple, être utile pour déterminer si le système de refroidissement d'un système sera efficace lorsque le processeur fonctionne à 100%.


30

Il y a longtemps (jours SySV et précédents), la fsckcommande n'avait -yni -noptions ni options. La commande vous demanderait de manière interactive de modifier des centaines ou des milliers d'éléments, en attendant un «y» ou un «n». La yescommande a été créée pour diriger vers fsck, et certains autres programmes pour pouvoir répéter les questions interactives (encore une fois, c'était SysV jours, bien avant Tcl et Expect). Le yesprogramme correspond très bien à la philosophie UNIX: de petits programmes qui font très bien des choses spécifiques et fonctionnent avec d'autres programmes.


4

Sur la base des informations fournies ici: http://linux.about.com/library/cmd/blcmdl1_yes.htm

Commande Linux / Unix: oui

Bibliothèque de commandes

PRÉNOM

oui - sortir une chaîne à plusieurs reprises jusqu'à ce qu'elle soit tuée

SYNOPSIS

oui [STRING] ... oui OPTION

LA DESCRIPTION

Générez de manière répétée une ligne avec toutes les STRING spécifiées, ou `y '.

--help afficher cette aide et quitter --version afficher les informations de version et quitter
VOIR AUSSI

La documentation complète pour yes est conservée dans un manuel Texinfo. Si les programmes info et yes sont correctement installés sur votre site, la commande

info yes

devrait vous donner accès au manuel complet.

À mon humble avis, l'utilisation d'une commande "oui" semble logique lorsque vous devez à plusieurs reprises autoriser quelque chose dans un processus / script en appuyant sur la touche "y". Qui peut être contrôlé en annulant l'exécution du programme.

Quoi qu'il en soit, quelqu'un d'autre peut avoir de l'expérience avec cette commande.


Je n'ai pas beaucoup d'expérience Linux, comment pourriez-vous utiliser la commande "yes" dans un processus / script?
Greg Treleaven


1

La commande yes affichera soit son argument, soit "y" s'il est vide, jusqu'à ce que vous mettiez fin au programme ou que son canal de sortie soit fermé. Il peut être utilisé avec des programmes qui attendent des entrées répétées, comme rm -i.


1
pourquoi feriez-vous un rm itératif si vous utilisez yes pour tout supprimer?
fromnaboo

@fromnaboo C'est un mauvais exemple, je sais. Mais parfois, vous n'avez pas accès au fonctionnement interne d'un programme que vous devez utiliser, et donc oui peut vous aider à éviter de répéter sans cesse la même entrée.
daniel kullmann

@fromnaboo Pour augmenter la positivité nette de votre machine.
Walf
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.