Câu trả lời:
[chỉnh sửa sau nhận xét đầu tiên từ: @chepner - cảm ơn!]
/ bin / bash cho phép dấu gạch nối trong tên hàm, / bin / sh (vỏ Bourne) thì không. Ở đây, "một số chức năng" vi phạm đã được xuất ra bởi bash và bash được gọi là yum có tên / bin / sh đã báo cáo lỗi ở trên.
sửa lỗi: đổi tên các hàm shell thành không có dấu gạch nối
man bash nói rằng các định danh bash có thể bao gồm: "chỉ các ký tự chữ và số và dấu gạch dưới"
Lỗi / bin / sh rõ ràng hơn nhiều:
some-function () { :; }
sh: `some-function ': không phải là định danh hợp lệ
bash
, một dấu gạch nối được cho phép trong một tên hàm, chỉ không có trong một tên tham số.