Untuk mengilustrasikan apa yang dikatakan oleh jawaban lain:
$ foo="Hello, World"
$ echo $foo
Hello, World
$ bar="Goodbye"
$ export foo
$ bash
bash-3.2$ echo $foo
Hello, World
bash-3.2$ echo $bar
bash-3.2$
export
membuat variabel tersedia untuk sub-proses.
Yaitu,
export name=value
artinya nama variabel tersedia untuk proses apa pun Anda lari dari proses shell itu. Jika Anda ingin proses menggunakan variabel ini, gunakan export
, dan jalankan proses dari shell tersebut.
name=value
berarti ruang lingkup variabel terbatas pada shell, dan tidak tersedia untuk proses lainnya. Anda akan menggunakan ini untuk (katakanlah) variabel loop, variabel sementara, dll.
Penting untuk diperhatikan bahwa mengekspor variabel tidak membuatnya tersedia untuk proses induk. Artinya, menentukan dan mengekspor variabel dalam proses yang dihasilkan tidak membuatnya tersedia dalam proses yang meluncurkannya.