Supongamos que hay 2 tareas t1
, t2
que se pueden ejecutar en serie de la siguiente manera:
t1 ; t2
# OR
t1 && t2
Ahora supongamos que olvidé correr t2
y t1
ya estoy corriendo; ¿Puedo agregar t2
a la tubería para que se ejecute después de t1
finalizar?
fuente
t3
det1; t2; t3
ot1 && t2 && t3
.^Z^Z
y%-;%+;t3
es lo suficientemente bueno en algunos casos, pero está lejos de ser una solución real al problema.Vi este método aquí: /superuser/334272/how-to-run-a-command-after-an-already-running-existing-one-finishes
donde primero haces Ctrl+ zpara detener (suspender) el que está en ejecución y luego ejecutas el comando perdido de la siguiente manera:
fg && ./missed_cmd.sh
y se ejecutará tan pronto comofg
termine.El
fg
(comando en primer plano) pondrá en línea el trabajo suspendido y&&
se asegurará de que el comando perdido solo se ejecute si el primer comando tiene éxito.fuente