Ответы:
[отредактировано после 1-го комментария от: @chepner - спасибо!]
/ bin / bash позволяет использовать дефисы в именах функций, а / bin / sh (оболочка Bourne) - нет. Здесь нарушающая «some-function» была экспортирована bash, и bash вызвал yum, который вызвал / bin / sh, который сообщил об ошибке выше.
исправлено: переименование функций оболочки, чтобы не было дефисов
man bash говорит, что идентификаторы bash могут состоять из «только буквенно-цифровых символов и символов подчеркивания»
Ошибка / bin / sh гораздо более явная:
some-function () { :; }
sh: `some-function ': недопустимый идентификатор
bash
дефис разрешен в имени функции, но не в имени параметра.