Preguntándome qué uso yes
podría tener el comando, me topé con este comentario e intenté ejecutar
yes $(yes yes)
Por lo que entiendo, esto simplemente debería imprimir una secuencia infinita de yes
, pero en su lugar no genera nada y bloquea mi terminal gráfica después de unos segundos. (Si lo ejecuto en tty1, veo el mensaje de inicio de sesión después de un tiempo).
¿Que está sucediendo aquí?
yes
nunca regresa.xargs
:yes yes | xargs -P 0 yes
(o sin-P 0
infinito de un solo proceso)Respuestas:
Ya debería ser suficiente para correr
El
$(...)
ejecuta el comando interno hasta que finaliza y captura toda su salida. - Ahora que seyes
ejecuta mucho tiempo y genera una gran cantidad de resultados, bash eventualmente se quedará sin memoria y se bloqueará.fuente
Para ver el mensaje del error que cierra su shell, debe ejecutar un sub-shell.
fuente