Можно ли переопределить функцию оболочки и сохранить ссылку на исходную?
f() { echo original; }
f() { echo wrapper; ...; }
f
Результат этого должен быть:
wrapper
original
Возможно ли это в полупортативном режиме?
Обоснование: я пытаюсь протестировать свою программу, заменив ее частью функциями оболочки, которые записывают свои вызовы в файл журнала. Это прекрасно работает, пока я только завершаю команды и встроенные команды, и пока я не возражаю против неизбирательного ведения журнала. Теперь я хотел бы сделать тестовый набор более удобным для обслуживания, только записывая интересную часть в каждом тесте.
Итак, пусть моя программа состоит из
f
g
h
где f
, g
, h
- все функции оболочки, и я хотел бы отслеживать выполнение только g
.