¿Qué es el comando "sí"?


29

Emití un comando en el terminal de Ubuntu que requería que escribiera sí, pero descubrí que solo me pregunta la primera vez, pero ya había presionado enter antes de darme cuenta. Así que esperaba un mensaje de "comando no encontrado", pero en cambio recibí un flujo interminable de "y" s. Esto parece ser lo único que hace, así que me pregunto cuál es el punto de este comando y por qué genera "y" s. (Ubuntu 11.10)

Respuestas:


14

De wikipedia :

Por sí mismo, el comando yes genera 'y' o lo que se especifique como argumento, seguido de una nueva línea repetidamente hasta que el usuario lo detenga o lo elimine; cuando se canaliza a un comando, continuará hasta que la tubería se rompa (es decir, el programa complete su ejecución).

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%.


30

Hace mucho tiempo (días sysv y anteriores), el fsckcomando no tenía -yni -nopciones. El comando le solicitaría interactivamente que cambie cientos o miles de elementos, esperando una 'y' o 'n'. El yescomando fue creado para canalizar a fsck, y algunos otros programas para poder responder repetidamente las preguntas interactivas (nuevamente, esto fue días SysV, mucho antes de Tcl y Expect). El yesprograma encaja muy bien con la filosofía UNIX: pequeños programas que hacen cosas específicas muy bien y funcionan con otros programas.


4

Según la información proporcionada aquí: http://linux.about.com/library/cmd/blcmdl1_yes.htm

Comando Linux / Unix: sí

Biblioteca de comando

NOMBRE

sí: genera una cadena repetidamente hasta que se mata

SINOPSIS

sí [STRING] ... sí OPCIÓN

DESCRIPCIÓN

Salida repetidamente una línea con todos los STRING (s) especificados, o 'y'.

- ayuda a mostrar esta ayuda y salir - información de versión de salida de versión y salir
VER TAMBIÉN

La documentación completa para sí se mantiene como un manual de Texinfo. Si los programas info y yes están instalados correctamente en su sitio, el comando

info yes

debería darle acceso al manual completo.

En mi humilde opinión, el uso de un comando "sí" suena lógico cuando tienes que autorizar repetidamente algo en un proceso / script presionando la tecla "y". Que se puede controlar cancelando la ejecución del programa.

De todos modos, alguien más puede tener experiencia usando este comando.


No tengo mucha experiencia en Linux, ¿cómo podría usar el comando "sí" dentro de un proceso / script?
Greg Treleaven


1

El comando yes imprimirá su argumento o "y" si está vacío, hasta que finalice el programa o se cierre su canal de salida. Se puede usar con programas que esperan alguna entrada repetida, como rm -i.


1
¿por qué harías un rm iterativo si usas sí para eliminar todo?
fromnaboo

@fromnaboo Es un mal ejemplo, lo sé. Pero a veces no tiene acceso al funcionamiento interno de un programa que tiene que usar, por lo que sí puede ayudarlo a evitar repetir sin cesar la misma entrada.
daniel kullmann

@fromnaboo Para aumentar la positividad neta de su máquina.
Walf
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.