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