是否可以重寫shell函數並保留對原始函數的引用?重寫shell函數,保留對原始函數的引用
f() { echo original; }
f() { echo wrapper; ...; }
f
這樣做的輸出應該是:
wrapper
original
這可能在一個半便攜式的方式?理由:我試圖用通過將它們的調用記錄到日誌文件中的shell函數替換它的一部分來測試我的程序。只要我只打包命令和內建函數,並且只要我不介意不加區分的日誌記錄,這就可以正常工作。現在我想通過在每個測試中記錄有趣的內容來使測試套件更易於維護。
所以我們可以說我的方案包括
f
g
h
其中f
,g
,h
都是外殼的功能,我想追蹤的只是g
執行。
你想可以做,但不是很便攜的。 –