Câu trả lời:
source
và .
đồ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 source
và .
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. source
chỉ 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 source
và help .
hiển thị thông tin tương tự.
man bash
và sau đó tìm kiếm, source
bạn sẽ thấy đó source filename [arguments]
là từ đồng nghĩa với . filename [arguments]
.
.
đồng nghĩa với source
trong 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 source
mà 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/sh
bạ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/...