yes peut être utilisé pour envoyer une réponse affirmative (ou négative; par exemple, yes n) à toute commande qui en demanderait autrement une, ce qui entraînerait l'exécution de la commande de manière non interactive.
La commande yes associée à la commande head peut être utilisée pour générer des fichiers volumineux à des fins de test.
Il peut également être utilisé pour tester la capacité d'un système à gérer des charges élevées, car l'utilisation de oui donne une utilisation de 100% du processeur, pour les systèmes dotés d'un seul processeur (pour un système multiprocesseur, un processus doit être exécuté pour chaque processeur). Ceci, par exemple, peut être utile pour déterminer si le système de refroidissement d'un système sera efficace lorsque le processeur tourne à 100%.
En 2006, la commande yes a reçu un peu de publicité pour être un moyen de tester si le MacBook d'un utilisateur est affecté du syndrome d'arrêt intermittent. En exécutant la commande yes deux fois via Terminal sous Mac OS X, les utilisateurs étaient en mesure de maximiser le processeur de leur ordinateur et de voir ainsi si la panne était liée à la chaleur.
Ohh, c'est un beau test de stress. juste essayé, puis couru à mon collègue pour demander une nouvelle vm xD
Toastgeraet
20
Cela pourrait être un avis controversé, mais à mon avis, il s’agit d’un vilain problème pour une mauvaise interface utilisateur dans les outils en ligne de commande .
Certains outils de ligne de commande posent des questions à l'utilisateur avec une invite et n'ont pas la possibilité de s'exécuter de manière non interactive. imaginez par exemple quelque chose comme
$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...
Comme la réponse à la question est tirée de l’entrée standard, une solution rapide à ce problème consiste à avoir une application qui affiche la chaîne en y\ncontinu, ce qui est exactement ce qui se yesproduit. Les pipes Unix peuvent être utilisées pour envoyer cette sortie en tant qu’entrée d’une commande donnée.
$ yes | frobnicate
L'un des problèmes de cette approche est qu'il yesest impossible de vérifier la question à laquelle elle répond:
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y
Une meilleure solution, lorsqu'elle est disponible, consiste en une option spécifique à exécuter de manière non interactive, telle que rm -fou apt-get -y. Cela permet de coder un comportement plus sensible dans l'application.
J'ai lu toutes les autres réponses. Je suis d' accord avec le vôtre complètement laid ... wrt solution si elle ne une utilisation valable pour tester la réponse de l' ordinateur à des charges élevées cpu.
Wildcard
6
Bien sûr, vous pouvez utiliser le logiciel propriétaire "Microsoft Windows" pour tester la réponse de l'ordinateur aux charges de processeur élevées, mais "oui" est en open source.
Wildcard
1
C'est pourtant l'une des plus belles réparations laides
Jezzamon
4
J'aime utiliser yeslorsque je décompresse plusieurs fichiers .zip contenant tous le même fichier du même nom et que l'on me demande quoi faire dans chaque cas (par exemple, un contrat de licence).
Je viens de découvrir une autre utilisation: aimer effacer un disque dur avec un motif différent de celui des zéros (comme:) dd if=/dev/zero of=/dev/sdd bs=1Met utiliser ' oui ' pour cela:
Attention cependant, il remplit le disque avec Us mais avec UUUUUUUUUUUUU\ns. Pour faire le plein U, il vous faut yes '' | tr '\n' U > /dev/sddoutr '\0' U < /dev/zero > /dev/sdd
Stéphane Chazelas il y a
1
Un collègue a utilisé cela d'une manière nouvelle pour entrer un mot de passe
passwddemandera d’abord l’ancien mot de passe, si l’utilisateur n’est pas un utilisateur root ou superutilisateur, et ne continuera pas tant que le mot de passe correct n’est pas entré. Donc, l'utilisateur est root ou passwordl'ancien mot de passe et rien n'est changé.
Michael Konietzka
@MichaelKonietzka en effet. Mais avec les conditions que vous avez mentionnées, c'est encore un cas d'utilisation utile.
Frogstarr78
3
Sauf que cela resterait dans l'histoire en texte clair. Crazeyyy.
Gleno
3
@Gleno in bash, vous pouvez le précéder d'un espace pour l'empêcher d'être enregistré (comme dans stackoverflow.com/q/640403/118153 )
Ieridayn
2
De plus, le mot de passe est divulgué à tous les utilisateurs locaux de la liste de processus ( psou topau bon moment).
Réponses:
via wikipedia: http://en.wikipedia.org/wiki/Yes_(Unix)
la source
yes `yes yes`
Cela pourrait être un avis controversé, mais à mon avis, il s’agit d’un vilain problème pour une mauvaise interface utilisateur dans les outils en ligne de commande .
Certains outils de ligne de commande posent des questions à l'utilisateur avec une invite et n'ont pas la possibilité de s'exécuter de manière non interactive. imaginez par exemple quelque chose comme
Comme la réponse à la question est tirée de l’entrée standard, une solution rapide à ce problème consiste à avoir une application qui affiche la chaîne en
y\n
continu, ce qui est exactement ce qui seyes
produit. Les pipes Unix peuvent être utilisées pour envoyer cette sortie en tant qu’entrée d’une commande donnée.L'un des problèmes de cette approche est qu'il
yes
est impossible de vérifier la question à laquelle elle répond:Une meilleure solution, lorsqu'elle est disponible, consiste en une option spécifique à exécuter de manière non interactive, telle que
rm -f
ouapt-get -y
. Cela permet de coder un comportement plus sensible dans l'application.la source
J'aime utiliser
yes
lorsque je décompresse plusieurs fichiers .zip contenant tous le même fichier du même nom et que l'on me demande quoi faire dans chaque cas (par exemple, un contrat de licence).la source
Je viens de découvrir une autre utilisation: aimer effacer un disque dur avec un motif différent de celui des zéros (comme:)
dd if=/dev/zero of=/dev/sdd bs=1M
et utiliser ' oui ' pour cela:yes UUUUUUUUUUUUU > /dev/sdd
la source
U
s mais avecUUUUUUUUUUUUU\n
s. Pour faire le pleinU
, il vous fautyes '' | tr '\n' U > /dev/sdd
outr '\0' U < /dev/zero > /dev/sdd
Un collègue a utilisé cela d'une manière nouvelle pour entrer un mot de passe
la source
passwd
demandera d’abord l’ancien mot de passe, si l’utilisateur n’est pas un utilisateur root ou superutilisateur, et ne continuera pas tant que le mot de passe correct n’est pas entré. Donc, l'utilisateur est root oupassword
l'ancien mot de passe et rien n'est changé.ps
outop
au bon moment).