Câu trả lời:
sourcevà .đồng nghĩa trong Bash .
Đối với bất kỳ ai muốn xác minh rằng các lệnh chỉ đơn giản là từ đồng nghĩa và không có gì khác, hãy xem mã nguồn , nói phiên bản 4.3 và kiểm tra tệp builtins/source.def. Bạn sẽ đọc rằng cả hai lệnh dựng sẵn sourcevà .sử dụng hàm rất giống nhau : source_builtin.
.là lệnh nguồn truyền thống, được kế thừa từ vỏ bourne cổ đại. sourcechỉ là một bash dựng sẵn mà giống hệt như ., có lẽ bởi vì nó dễ đọc hơn (một .mình có thể khó phát hiện với một phông chữ nhỏ). Bạn sẽ thấy help sourcevà help .hiển thị thông tin tương tự.
man bashvà sau đó tìm kiếm, sourcebạn sẽ thấy đó source filename [arguments]là từ đồng nghĩa với . filename [arguments].
.đồng nghĩa với sourcetrong bash, nhưng không phải trong POSIX sh, vì vậy bạn nên sử dụng .nếu tập lệnh của bạn được chạy bởi / bin / sh. Lưu ý rằng bash yêu cầu chạy như POSIX sh khi được gọi là / bin / sh, nhưng chấp nhận sourcemà không có khiếu nại.
Hành vi này đã cắn tôi, các kịch bản được thử nghiệm với bash là / bin / sh không thành công khi chạy dưới tro chẳng hạn.
#!/bin/shbạn không bao giờ nên giả sử shell hỗ trợ bất cứ thứ gì ngoại trừ các tính năng POSIX. pubs.opengroup.org/onlinepubs/9699919799/utilities/...