Nó thực sự là một chức năng được đặt tên module
. Nó xuất hiện trong các biến môi trường khi bạn xuất một hàm.
$ test() { echo test; }
$ export -f test
$ env | sed -n '/test/{N;p}'
test=() { echo test
}
Từ tài liệu bash - xuất khẩu :
xuất khẩu
export [-fn] [-p] [name[=value]]
Đánh dấu mỗi tên được truyền cho các tiến trình con trong môi trường. Nếu tùy chọn -f được cung cấp, các tên tham chiếu đến các hàm shell ; mặt khác, các tên tham chiếu đến các biến shell. Tùy chọn -n có nghĩa là không còn đánh dấu mỗi tên để xuất. Nếu không có tên nào được cung cấp hoặc nếu tùy chọn -p được cung cấp, một danh sách các tên được xuất sẽ được hiển thị. Tùy chọn -p hiển thị đầu ra ở dạng có thể được sử dụng lại làm đầu vào. Nếu một tên biến được theo sau bởi = value, giá trị của biến được đặt thành giá trị.
Trạng thái trả về bằng 0 trừ khi được cung cấp tùy chọn không hợp lệ, một trong các tên không phải là tên biến shell hợp lệ hoặc -f được cung cấp với tên không phải là hàm shell.
=
dấu hiệu)? Bởi vì đối với tôi, bash không thích nó. Tuy nhiên nếu không có=
nó sẽ là một định nghĩa hàm.