Я пытаюсь понять, как правильно использовать команду bash trap
.
У меня есть скрипт, где я хочу
- Do A
- Do B, который может дать сбой
- Независимо от того, преуспел ли B или нет, выполните C
- Если B не удалось, также сделайте D
Я думаю, я понимаю, как сделать 1-3. Это будет выглядеть примерно так:
echo "I am A"
function B {
echo "I am C"
}
trap B EXIT
echo "I am B"
Но куда мне положить D? Если он входит в функцию B, он выполняется независимо от того, произойдет ли сбой B. Если это снаружи, это происходит только в случае успеха. Я использую trap
неправильно?