Предположим, есть 2 задачи t1
,t2
которые можно выполнить последовательно, как показано ниже:
t1 ; t2
# OR
t1 && t2
Теперь предположим, что я забыл бежать t2
и t1
уже работает; можно добавить t2
в конвейер, чтобы он выполнялся после t1
финиша?
источник
t3
вt1; t2; t3
илиt1 && t2 && t3
.^Z^Z
и%-;%+;t3
в некоторых случаях это достаточно хорошо, но это далеко не реальное решение проблемы.Я видел этот метод здесь: /superuser/334272/how-to-run-a-command-after-an-already-running-existing-one-finishes
где вы сначала делаете Ctrl+, zчтобы остановить (приостановить) работающую, затем запускаете пропущенную команду следующим образом:
fg && ./missed_cmd.sh
и она запустится, как только завершитсяfg
.fg
( Команда переднего плана) переведет приостановленное задание в оперативный режим&&
и обеспечит выполнение пропущенной команды только в случае успешного выполнения первой команды.источник