Используя сайт пакетов Fedora , можно скачать RPM для fc29, даже если он был удален из дистрибутива.
Я подозреваю, что было бы лучше перенести ваше текущее приложение на более новый ABI, предоставляемый libicu.
Это похоже на ловушку EXIT вне функций. Уйти и быть убитым - разные вещи.
Таким образом, как и вне функций, вам нужно обрабатывать их отдельно:
test_trap() {
set -o localoptions -o localtraps
trap 'echo "I am exiting."' EXIT
trap 'echo "I have been interrupted, so"; return 1' INT
echo start
sleep 10
echo end
}
test_trap
echo "returned with: $?"
Что дает:
$ zsh./that-script
start
^CI have been interrupted, so
I am exiting.
returned with: 1
Если вы хотите, чтобы оболочка (не только функции )завершала работу при обработке сигнала SIGINT при получении во время выполнения функции, замените return 1
наexit
(или убейте себя с помощью SIGINT после восстановив обработчик по умолчанию (trap - INT; kill -s INT "$$"
), если вы хотите сообщить о своей смерти сигналом своему родителю ).