Tôi đã chọn - có lẽ trên Usenet vào giữa những năm 1990 (!) - đó là công trình
export var=value
là một Bashism, và biểu thức di động là
var=value
export var
Tôi đã ủng hộ điều này trong nhiều năm, nhưng gần đây, ai đó đã thách thức tôi về điều đó và tôi thực sự không thể tìm thấy bất kỳ tài liệu nào để sao lưu những gì từng là niềm tin vững chắc của tôi.
Googling cho "export: command not found"
dường như không đưa ra bất kỳ trường hợp nào mà ai đó thực sự có vấn đề này, vì vậy ngay cả khi nó là chính hãng, tôi đoán nó không phổ biến lắm.
(The hits tôi nhận được dường như là người mới, người sao chép / dán dấu chấm câu, và kết thúc với 'export: command not found
hoặc một số như vậy, hoặc cố gắng sử dụng export
với sudo
; và người mới csh
. Người dùng cố gắng sử dụng cú pháp Bourne shell)
Tôi chắc chắn có thể nói rằng nó hoạt động trên OS X, và trên nhiều distro Linux, bao gồm những nơi sh
là dash
.
sh$ export var=value
sh$ echo "$var"
value
sh$ sh -c 'echo "$var"' # see that it really is exported
value
Trong thế giới ngày nay, có an toàn để nói rằng export var=value
an toàn để sử dụng?
Tôi muốn hiểu hậu quả là gì. Nếu nó không thể chuyển sang v7 "Bourne classic", điều đó khó hơn nhiều so với những chuyện vặt vãnh. Nếu có các hệ thống sản xuất mà shell thực sự không thể đối phó với cú pháp này, điều đó sẽ hữu ích để biết.
busybox
đi kèm với vỏ tối thiểu của riêng mình? (Tôi không ở vị trí để thử ngay thứ hai này.)