Beseitigt Export -f in .bashrc nach dem Upgrade auf Bash 4.3.30 integrierte Funktionen?

Beseitigt Export -f in .bashrc nach dem Upgrade auf Bash 4.3.30 integrierte Funktionen?

Ich habe vor kurzem meine Bash (Mac OS X 10.6.8) von 3.2.48(1) auf 4.3.30(1) über Macports aktualisiert. Die Installation verlief zwar scheinbar reibungslos, aber die beiden Stellen in meiner ~/.bashrc, an denen ich dies getan hatte, export -f myfunc;führten zu unerwarteten Ergebnissen. Verschiedene Dinge, darunter manund more, führen zu folgendem Fehler:

/bin/sh: line 6: 'BASH_FUNC_myfunc%%': not a valid identifier

In ~/.bashrc waren zwei Funktionen definiert, die es export -feinem anderen Skript ermöglichten, diese Funktion aufzurufen. Der Fehler bezieht sich auf die erste Funktion in ~/.bashrc. Ich habe keine Ahnung, woher die Zeilennummer kommt. Die sekundären Skripte funktionieren normal. Das Entfernen exportdes -fFlags behebt zwar den Fehler, führt aber offensichtlich dazu, dass die Skripte die Funktion nicht mehr aufrufen können.

Was verursacht dieses Verhalten und wie kann ich meine Funktionen ordnungsgemäß in Bash 4 exportieren?

verwandte Informationen