Hiện tại tôi đang thực hiện một số bài kiểm tra đơn vị được thực hiện từ bash. Các bài kiểm tra đơn vị được khởi tạo, thực hiện và dọn sạch trong tập lệnh bash. Tập lệnh này thường chứa các hàm init (), exec () và cleanup (). Nhưng chúng không bắt buộc. Tôi muốn kiểm tra xem chúng có hoặc không được xác định.
Tôi đã làm điều này trước đây bằng cách gre và sed nguồn, nhưng nó có vẻ sai. Có một cách thanh lịch hơn để làm điều này?
Chỉnh sửa: Sniplet sau hoạt động như một bùa mê:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -tvà ==.
type test_functionnói test_function on funktio.khi sử dụng ngôn ngữ Phần Lan và ist eine Funktionkhi sử dụng tiếng Đức.
LC_ALL=Cđể bán lại
fn_exists foo || foo() { :; }