У меня есть следующее bash
составная команда:
while true ; do slow-command-one ; slow-command-two ; slow-command-three ; done
Что происходит:
Что я хочу произойти:
slow-command-two
, slow-command-two
должен быть прерван, и выполнение должно продолжить slow-command-three
.Как я заставляю это происходить?
Можно использовать trap
команда для этого. Выгода SIGINT
с ним и Ctrl+C не повреждает Вашу казнь команды. Затем прерывание сброса к настройкам по умолчанию.
Это должно работать:
#!/bin/bash
while true; do
slow-command-one;
trap "echo Proceeding to command three" SIGINT;
slow-command-two;
trap - SIGINT;
slow-command-three;
done