Ejecutar el comando después del anterior Finalizado

0

¿Hay un emulador de terminal que permita al usuario ejecutar un comando después de que termine el que se está ejecutando actualmente?

Estoy buscando un software, no una explicación de cómo concatenar comandos (por ejemplo, a través de && o ; ). Es solo que a menudo quiero hacer algo después de que otra cosa termine, pero no planeo todo por adelantado. Una pequeña entrada de menú de contexto llamada "ejecutar después de que finalice el comando actual" abriendo una nueva ventana de terminal que hace exactamente eso sería increíble.

UTF-8
fuente

Respuestas:

0

Supongo que está utilizando un Bash CLI. Hay al menos dos formas de hacer esto, dependiendo de cuánto planee con anticipación.

Si escribe un comando y entrar y luego decide que quieres ejecutar otro comando cuando termine, puedes hacer esto:

001 $ date; sleep 10
002 Mon, Jan 25, 2016  3:08:35 PM
003 tty; date
004 $ tty; date
005 /dev/pty2
006 Mon, Jan 25, 2016  3:08:45 PM

Notas:

  • Se agregan números de línea ("001 ...")
  • Línea 001: dos comandos se ejecutan secuencialmente debido a ; , el segundo es de larga duración
  • Línea 002: la salida inmediata de 'fecha' en la línea 001, para referencia
  • Línea 003: el usuario escribe comandos adicionales mientras el comando 'dormir' de la línea 001 aún se está ejecutando, la escritura se repite pero no se interpreta hasta que se completa el 'sueño'
  • Línea 004: PS aparece un mensaje que marca el final de la ejecución del segundo comando en la línea 001, el resto es un eco de la línea 003.
  • Línea 005: Salida del comando 'tty' ingresada en la línea 003
  • Línea 006: Salida del comando 'fecha' ingresada en la línea 003, comparada con la línea 002

Sin embargo, si sabe de antemano que deseará comenzar otra cosa después de un comando inicial, pero aún no sabe qué, puede esperar explícitamente como:

006 $ date; sleep 20 &
007 Mon, Jan 25, 2016  3:13:52 PM
008 [1] 504840
009 $ wait 504840; tty; date
010 [1]+  Done                    sleep 20
011 /dev/pty2
012 Mon, Jan 25, 2016  3:14:12 PM

Notas:

  • Línea 006: 'fecha' para referencia, y luego el comando 'dormir' se coloca en segundo plano con final &erio;
  • Línea 007: salida de 'fecha' en la línea 006, para referencia
  • Línea 008: salida de &erio; en la línea 006, dando PID de comando 'dormir'
  • Línea 009: 'esperar' esperará a que se complete el proceso con el PID nombrado
  • Línea 010: 'sleep' en la línea 006 completa, luego 'tty; fecha será interpretada
  • Línea 011: salida de 'tty' en la línea 009
  • Línea 012: salida de 'fecha' en la línea 009, en comparación con la línea 007
Codex24
fuente
0

Puede escribir o pegar su nuevo comando en la ventana de shell donde se está ejecutando el comando actual y el shell lo verá y lo ejecutará cuando finalice el comando actual.

No se necesita entrada de menú adicional.

P.ej.:

$ command1
command2
$ $

(el aviso repetido se imprime porque el shell le preguntará después de ejecutar command1 antes de empezar command2 ).

Ten en cuenta que si matas command1 con kill, entonces command2 Se ejecuta de inmediato, pero si escribe Ctrl-C en esta concha, esto abortará ambos comandos

sds
fuente