¿Cómo poner en cola un comando para que se ejecute después de que termine otro comando?

9

A veces comienzo un programa que lleva mucho tiempo terminar ( emerge), luego me doy cuenta de que debo irme a la cama en lugar de esperarlo. Si supiera esto en primer lugar, correría

program; halt

Sin embargo, ahora que ya comencé el programa, ¿cómo puedo "programar" el apagado de la computadora cuando finalice ese proceso? Sería Ctrl+zentonces fg; haltestar bien?

phunehehe
fuente

Respuestas:

15

Sí, eso funcionaría.

Si no está seguro, puede probarlo con

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"

mru
fuente
2

Otra forma es simplemente escribir halten su terminal mientras se ejecuta el primer comando; siempre y cuando el primer comando no lea la entrada en algún momento, se sentará en el búfer del terminal y el shell lo leerá cuando finalice el primer programa

Michael Mrozek
fuente
1

Usando el waitcomando

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
Gayo
fuente