Я разрабатываю некоторые удобные обертки вокруг другого программного пакета, который определяет функцию bash. Я хотел бы заменить их функцию bash на функцию с идентичным именем, принадлежащую моей собственной, но все еще могу выполнять свою функцию из моей. Другими словами, мне нужно либо переименовать их функцию, либо создать для нее какой-то постоянный псевдоним, который не будет изменен при создании моей функции с тем же именем.
Чтобы дать краткий пример наивной попытки, которую я не ожидал работать (и это действительно не так):
$ theirfunc() { echo "do their thing"; }
$ _orig_theirfunc() { theirfunc; }
$ theirfunc() { echo "do my thing"; _orig_theirfunc }
$ theirfunc
do my thing
do my thing
do my thing
...
Очевидно, что я не хочу бесконечной рекурсии, я хочу:
do my thing
do their thing
Как я могу это сделать?