posible duplicado de ¿Cuál es el punto del comando `yes`? ... (Marcar esto como duplicado porque la otra pregunta más nueva se hace mejor y se responde mejor).
sí se puede usar para enviar una respuesta afirmativa (o negativa; por ejemplo, sí n) a cualquier comando que de otro modo solicitaría uno, lo que hace que el comando se ejecute de forma no interactiva.
El comando yes junto con el comando head se puede usar para generar archivos de gran volumen para realizar pruebas.
También se puede usar para probar qué tan bien un sistema maneja cargas altas, ya que el uso de sí da como resultado un uso del procesador del 100%, para sistemas con un solo procesador (para un sistema multiprocesador, se debe ejecutar un proceso para cada procesador). Esto, por ejemplo, puede ser útil para investigar si el sistema de enfriamiento de un sistema será efectivo cuando el procesador esté funcionando al 100%.
En 2006, el comando yes recibió publicidad por ser un medio para probar si el MacBook de un usuario está afectado o no por el Síndrome de apagado intermitente. Al ejecutar el comando yes dos veces a través de Terminal en Mac OS X, los usuarios pudieron maximizar la CPU de su computadora y, por lo tanto, ver si la falla estaba relacionada con el calor
ohh, esa es una buena prueba de estrés. solo lo intenté, luego corrí hacia mi colega pidiendo un nuevo vm xD
Toastgeraet
17
Esta podría ser una opinión controvertida, pero en mi opinión , es una solución fea para la mala interfaz de usuario en las herramientas de línea de comandos .
Algunas herramientas de línea de comandos hacen preguntas al usuario con un aviso y no tienen una opción para ejecutar de forma no interactiva; imagina por ejemplo algo como
$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...
Dado que la respuesta a la pregunta se toma de la entrada estándar, una solución rápida a este problema es tener una aplicación que muestre la cadena y\ncontinuamente, que es exactamente lo que yeshace. Las tuberías Unix se pueden usar para enviar esta salida como entrada a un comando dado.
$ yes | frobnicate
Uno de los problemas con este enfoque es que yesno tiene posibilidad de verificar la pregunta a la que responde:
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
Una mejor solución, cuando está disponible, es una opción específica para ejecutar de forma no interactiva, como rm -f o apt-get -y. Esto permite codificar comportamientos más sensibles en la aplicación.
Leí todas las otras respuestas. Estoy de acuerdo con la suya por completo wrt solución fea ... a pesar de que hace un uso válido para probar la respuesta del equipo a altas cargas de CPU.
Comodín el
66
Por supuesto, puede usar el software propietario "Microsoft Windows" para probar la respuesta de la computadora a altas cargas de CPU, pero "sí" es de código abierto.
Comodín el
1
Sin embargo
Jezzamon
4
Me gusta usar yescuando descomprimo múltiples archivos .zip que contienen el mismo archivo con el mismo nombre y me preguntan qué hacer en cada caso (por ejemplo, un acuerdo de licencia).
Acabo de encontrar otro uso para él: me gusta borrar un disco duro con un patrón diferente al de los ceros (como: dd if = / dev / zero of = / dev / sdd bs = 1M) y usé 'yes' para ello:
passwdpedirá primero la contraseña anterior, si el usuario no es root o superusuario y no continuará a menos que se ingrese la contraseña correcta. Por lo tanto, el usuario es root o también passwordes la contraseña anterior y no se cambia nada.
Michael Konietzka
@MichaelKonietzka de hecho. Pero con las condiciones que mencionó, todavía es un caso de uso útil.
frogstarr78
3
Excepto que esto persistiría en la historia en texto sin formato. Crazeyyy
Respuestas:
a través de wikipedia: http://en.wikipedia.org/wiki/Yes_(Unix)
fuente
yes `yes yes`
Esta podría ser una opinión controvertida, pero en mi opinión , es una solución fea para la mala interfaz de usuario en las herramientas de línea de comandos .
Algunas herramientas de línea de comandos hacen preguntas al usuario con un aviso y no tienen una opción para ejecutar de forma no interactiva; imagina por ejemplo algo como
Dado que la respuesta a la pregunta se toma de la entrada estándar, una solución rápida a este problema es tener una aplicación que muestre la cadena
y\n
continuamente, que es exactamente lo queyes
hace. Las tuberías Unix se pueden usar para enviar esta salida como entrada a un comando dado.Uno de los problemas con este enfoque es que
yes
no tiene posibilidad de verificar la pregunta a la que responde:Una mejor solución, cuando está disponible, es una opción específica para ejecutar de forma no interactiva, como
rm -f
oapt-get -y
. Esto permite codificar comportamientos más sensibles en la aplicación.fuente
Me gusta usar
yes
cuando descomprimo múltiples archivos .zip que contienen el mismo archivo con el mismo nombre y me preguntan qué hacer en cada caso (por ejemplo, un acuerdo de licencia).fuente
Acabo de encontrar otro uso para él: me gusta borrar un disco duro con un patrón diferente al de los ceros (como: dd if = / dev / zero of = / dev / sdd bs = 1M) y usé 'yes' para ello:
yes UUUUUUUUUUUUU > /dev/sdd
fuente
Un compañero de trabajo usó esto de una manera novedosa para ingresar una contraseña
fuente
passwd
pedirá primero la contraseña anterior, si el usuario no es root o superusuario y no continuará a menos que se ingrese la contraseña correcta. Por lo tanto, el usuario es root o tambiénpassword
es la contraseña anterior y no se cambia nada.ps
otop
en el momento adecuado).