export VARIABLE_NAME='some value'adalah cara untuk mengatur variabel lingkungan dalam shell POSIX-compliant ( sh, dash, bash, ksh, dll .; juga zsh). Jika variabel sudah memiliki nilai, Anda dapat menggunakannya export VARIABLE_NAMEuntuk menjadikannya variabel lingkungan tanpa mengubah nilainya.
Pra-POSIX Shell Bourne tidak mendukung ini, itulah sebabnya Anda akan melihat skrip yang menghindari export VARIABLE_NAME='some value'dan menggunakannya VARIABLE_NAME='some value'; export VARIABLE_NAME. Tapi cangkang Bourne pra-POSIX sangat langka saat ini.
setenv VARIABLE_NAME='some value'adalah sintaks csh untuk mengatur variabel lingkungan. setenvtidak ada di sh, dan csh sangat jarang digunakan dalam skrip dan telah dilampaui oleh bash untuk penggunaan interaktif selama 20 tahun terakhir (dan zsh bahkan lebih lama), sehingga Anda dapat melupakannya kecuali Anda menjumpainya.
The envperintah sangat jarang berguna kecuali dalam garis peristiwa . Ketika dipanggil tanpa argumen, ini menampilkan lingkungan, tetapi exportapakah itu lebih baik (diurutkan, dan sering dikutip untuk mengaburkan baris baru dalam nilai dari baris baru yang memisahkan nilai). Ketika dipanggil dengan argumen, itu menjalankan perintah dengan variabel lingkungan tambahan, tetapi perintah yang sama tanpa envjuga berfungsi ( VAR=value mycommandberjalan mycommanddengan VARset ke value, sama seperti env VAR=value mycommand). Alasannya envberguna dalam baris shebang adalah bahwa ia melakukan PATHpencarian, dan kebetulan tidak melakukan hal lain ketika dipanggil dengan nama perintah. The envperintah dapat berguna untuk menjalankan perintah dengan hanya beberapa variabel lingkungan dengan-i, atau tanpa parameter untuk menampilkan lingkungan termasuk variabel dengan nama tidak valid yang shell tidak impor.
VAR=asdfperbarui lingkungan jikaVARsudah ada di lingkungan. (Ini tidak benar dalam kulit Bourne asli.)