Ich möchte eine Funktion mit ihrem vollständigen Pfad umschließen.
$ pwd
/home/me
$ which pwd
/bin/pwd
$ function /bin/pwd() {
echo "wrapping pwd"
command /bin/pwd
} && export -f /bin/pwd
$ /bin/pwd
wrapping pwd
/home/me
$ bash -c "/bin/pwd"
bash: error importing function definition for `BASH_FUNC_/bin/pwd'
/home/me
Gibt es eine Möglichkeit, Funktionen, die nach einem Pfad benannt sind, erfolgreich zu exportieren? Der erste Export beschwert sich nicht, die Exporte in Unter-Shells jedoch schon. Das Endziel besteht darin, Umgebungsvariablen festzulegen, bevor der eigentliche Befehl gestartet wird.
Antwort1
Ein Funktionsname darf nur alphanumerische Zeichen und Unterstriche enthalten und muss mit einem alphabetischen Zeichen oder einem Unterstrich beginnen.