export VARIABLE_NAME='some value'це спосіб встановити змінну середовища в будь-який POSIX-сумісної оболонці ( sh, dash, bash, ksh, і т.д.; також ЗШ). Якщо змінна вже має значення, ви можете використовувати export VARIABLE_NAMEїї для змінної середовища, не змінюючи її значення.
Оболонки Pre-POSIX Bourne не підтримували це, тому ви побачите сценарії, які уникають export VARIABLE_NAME='some value'та використовують VARIABLE_NAME='some value'; export VARIABLE_NAMEнатомість. Але снаряди перед POSIX Bourne в наш час надзвичайно рідкісні.
setenv VARIABLE_NAME='some value'синтаксис csh для встановлення змінної середовища. setenvне існує sh, і csh вкрай рідко використовується в сценаріях і був перевершений bash для інтерактивного використання протягом останніх 20 років (і zsh ще довше), тому ви можете забути про нього, якщо не зіткнетеся з ним.
envКоманда дуже рідко використовується тільки в хатину ліній . Якщо викликається без аргументів, він відображає середовище, але exportробить це краще (сортується та часто цитується для розмежування нових рядків у значеннях від нових рядків, що розділяють значення). При виклику аргументів вона запускає команду з додатковими змінними середовища, але та сама команда без envтакож працює ( VAR=value mycommandпрацює mycommandз VARвстановленим на value, точно так само env VAR=value mycommand). Причина env, корисна в рядку shebang, полягає в тому, що вона виконує PATHпошук, і, трапляється, не робить нічого іншого, коли викликається ім'я команди. envКоманда може бути корисна для виконання команди з допомогою всього декількох змінних оточення з-iабо без параметрів для відображення середовища, включаючи змінні з недійсними іменами, які оболонка не імпортує.
VAR=asdfоновлює навколишнє середовище, якщоVARвоно вже було в середовищі. (Це не було правдою в оригінальній оболонці Борна.)