J'ai rencontré cette erreur lors de la mise à jour de bash pour le problème de sécurité CVE-2014-6271:
# yum update bash
Running transaction (shutdown inhibited)
Updating : bash-4.2.47-4.fc20.x86_64
/bin/sh: error importing function definition for `some-function'
bash
, un trait d'union est autorisé dans un nom de fonction, mais pas dans un nom de paramètre.Changer / fixer le nom de la fonction de
"foo-bar"
à"foo_bar"
C'est la convention de nommage avec laquelle bash est ok, alors que sh ne l'est pas.
Remplacez le "-" (trait d'union / tiret / moins) par "_" (trait de soulignement), et l'erreur est corrigée, et le code fonctionne à la fois sur bash et sh
la source