Có thể ghi đè lên hàm vỏ và giữ tham chiếu đến hàm gốc không?Ghi đè lên hàm vỏ, giữ tham chiếu đến hàm gốc
f() { echo original; }
f() { echo wrapper; ...; }
f
Sản lượng này sẽ là:
wrapper
original
Đây có phải là có thể theo một cách semi-portable?
Lý do: Tôi đang cố gắng kiểm tra chương trình của mình bằng cách thay thế các phần của chương trình bằng chức năng vỏ ghi lại cuộc gọi của họ vào tệp nhật ký. Điều này làm việc tốt miễn là tôi chỉ bọc các lệnh và nội trang, và miễn là tôi không bận tâm đến việc bẻ khóa bừa bãi. Bây giờ tôi muốn làm cho bộ thử nghiệm dễ bảo trì hơn bằng cách chỉ ghi lại phần thú vị trong mỗi bài kiểm tra.
Vì vậy, giả sử chương trình của tôi gồm
f
g
h
nơi f
, g
, h
đều chức năng vỏ, và tôi muốn để theo dõi việc thực hiện các chỉ g
.
những gì bạn muốn có thể được thực hiện, nhưng không phải là rất portably. –