Я підхопив - ймовірно, на Usenet в середині 1990-х (!) - цю конструкцію
export var=value
- це башизм, і це переносний вираз
var=value
export var
Я виступаю за це протягом багатьох років, але останнім часом хтось кинув мені виклик з цього приводу, і я дійсно не можу знайти жодної документації, яка б підкріплювала те, що раніше було моїм твердим переконанням.
Google "export: command not found"
, схоже, не викликає випадків, коли хтось насправді мав цю проблему, тож навіть якщо це справді, я думаю, це не дуже часто.
(Удари , які я отримую , здається, новачки , які копіювати / вставити знаки пунктуації, і в кінцевому підсумку з 'export: command not found
або кілька таких, або намагаються використовувати export
з sudo
, і новачком csh
. Користувачів намагаються використовувати синтаксис Bourne оболонки)
Я, безумовно, можу сказати, що він працює як на OS X, так і на різних дистрибутивах Linux, включаючи ті, де sh
є dash
.
sh$ export var=value
sh$ echo "$var"
value
sh$ sh -c 'echo "$var"' # see that it really is exported
value
Чи можна в сучасному світі сказати, що export var=value
це безпечно у використанні?
Я хотів би зрозуміти, які наслідки є. Якщо він не є портативним до v7 "Bourne classic", це навряд чи більше дрібниць. Якщо є виробничі системи, де оболонка дійсно не справляється з цим синтаксисом, це було б корисно знати.
busybox
йде власна мінімальна оболонка? (Мені не вдається спробувати жодну секунду.)