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 -t
và ==
.
type test_function
nói test_function on funktio.
khi sử dụng ngôn ngữ Phần Lan và ist eine Funktion
khi sử dụng tiếng Đức.
LC_ALL=C
để bán lại
fn_exists foo || foo() { :; }