web-dev-qa-db-fra.com

Quel est l'intérêt de la commande `yes`?

Cette question concerne la commande yes trouvée sur les machines UNIX et Linux: Fondamentalement, quel est le point (le cas échéant) et l'historique de cet outil? Y a-t-il des applications pratiques pour cela? Peut-on montrer un exemple où il est utile dans un script ou enchaîné (via pipe ou redirection) avec un autre outil?

La page de manuel est ci-dessous:

YES(1)                    BSD General Commands Manual                   YES(1)

NAME
     yes -- be repetitively affirmative

SYNOPSIS
     yes [expletive]

DESCRIPTION
     yes outputs expletive, or, by default, ``y'', forever.

HISTORY
     The yes command appeared in 4.0BSD.

4th Berkeley Distribution        June 6, 1993        4th Berkeley Distribution

Exemple de sortie:

$ yes why
why
why
why
why
^Cwhy
80
Jaryd Malbin

Il est généralement utilisé comme un moyen rapide et sale de fournir des réponses à un script interactif:

yes | rm -r large_directory

ne vous invitera pas à supprimer un fichier. Bien sûr, dans le cas de rm, vous pouvez toujours fournir -f pour que cela supprime la suppression du répertoire, mais tous les outils ne sont pas si indulgents.

Mise à jour

Un exemple plus pertinent de cela que j'ai récemment rencontré est lorsque vous fsck utilisez un système de fichiers et que vous ne voulez pas vous embêter à répondre y lorsque vous y êtes invité avant de corriger chaque erreur:

yes | fsck /dev/foo
102
Joseph R.

Outre le point principal mentionné dans la réponse précédente la commande yes peut également être utilisée pour tester des charges élevées de CPU sur un système. yes crée un processus qui agit comme un chargeur CPU factice et entraîne une utilisation à 100% du processeur. http://en.wikipedia.org/wiki/Yes_ (Unix)

25
coffeMug

Lors de la mise à jour des ports sur un poste de travail FreeBSD, utiliser portmaster + yes devient très pratique:

yes | portmaster -da

De cette façon, vous pouvez laisser la machine se mettre à jour pendant que vous déjeunez et toutes les questions remplissent par défaut `` oui, oui ''

Quand reconstruire le monde pour 'make delete-old' et 'make delete-old-libs'.

c'est un gros gain de temps:

yes | make delete-old

et

yes | make delete-old-libs

Fondamentalement, vous aide à éviter de taper/confirmer certaines opérations qui demandent un "y" ou un "oui"

11
nbari