Saya telah mengambil - mungkin di Usenet pada pertengahan 1990-an (!) - yang membangun
export var=value
adalah Bashism, dan ungkapan portabel itu
var=value
export var
Saya telah mengadvokasi ini selama bertahun-tahun, tetapi baru-baru ini, seseorang menantangku, dan saya benar-benar tidak dapat menemukan dokumentasi untuk mendukung apa yang dulunya merupakan kepercayaan kuat saya.
Googling untuk "export: command not found"
sepertinya tidak memunculkan kasus di mana seseorang benar-benar memiliki masalah ini, jadi meskipun itu asli, saya kira itu tidak terlalu umum.
(Hits saya mendapatkan tampaknya pemula yang menyalin / disisipkan tanda baca, dan berakhir dengan 'export: command not found
atau semacam, atau mencoba untuk menggunakan export
dengan sudo
, dan pemula csh
. Pengguna mencoba untuk menggunakan Bourne shell sintaks)
Saya pasti bisa mengatakan bahwa ia bekerja pada OS X, dan pada berbagai distro Linux, termasuk yang mana sh
adalah dash
.
sh$ export var=value
sh$ echo "$var"
value
sh$ sh -c 'echo "$var"' # see that it really is exported
value
Dalam dunia sekarang ini, apakah aman untuk mengatakan bahwa export var=value
itu aman untuk digunakan?
Saya ingin memahami apa konsekuensinya. Jika tidak portabel untuk v7 "Bourne classic", itu hampir tidak lebih dari hal sepele. Jika ada sistem produksi di mana shell benar-benar tidak dapat mengatasi sintaks ini, itu akan berguna untuk diketahui.
busybox
datang dengan cangkang minimal sendiri? (Saya tidak dalam posisi untuk mencoba saat ini juga.)