Supposons qu'il y ait 2 tâches t1
, t2
qui peuvent être exécutées en série comme ci-dessous:
t1 ; t2
# OR
t1 && t2
Supposons maintenant que j'ai oublié de courir t2
et que je cours t1
déjà; puis-je ajouter t2
au pipeline pour qu'il soit exécuté après la t1
fin?
la source
t3
danst1; t2; t3
out1 && t2 && t3
.^Z^Z
et%-;%+;t3
c'est assez bon dans certains cas, mais c'est loin d'être une vraie solution au problème.J'ai vu cette méthode ici: /superuser/334272/how-to-run-a-command-after-an-already-running-existing-one-finishes
où vous faites d'abord Ctrl+ zpour arrêter (suspendre) celle qui est en cours d'exécution, puis vous exécutez la commande manquée comme ceci:
fg && ./missed_cmd.sh
et elle s'exécutera dès lafg
fin.La
fg
(commande de premier plan) mettra le travail suspendu en ligne et&&
garantira que la commande manquée n'est exécutée que si la première commande réussit.la source