export
ekspor ke anak-anak dari proses saat ini, secara default mereka tidak diekspor. Sebagai contoh:
$ foo=bar
$ echo "$foo"
bar
$ bash -c 'echo "$foo"'
$ export foo
$ bash -c 'echo "$foo"'
bar
set
, di sisi lain, menetapkan atribut shell, misalnya, parameter posisi.
$ set foo=baz
$ echo "$1"
foo=baz
Catatan yang baz
tidak ditugaskan foo
, itu hanya menjadi parameter posisi literal. Ada banyak hal lain yang set
bisa dilakukan (kebanyakan opsi shell), lihat help set
.
Sedangkan untuk mencetak, export
dipanggil tanpa argumen mencetak semua variabel di lingkungan shell. set
juga mencetak variabel yang tidak diekspor. Itu juga dapat mengekspor beberapa objek lain (walaupun Anda harus perhatikan bahwa ini bukan portable), lihat help export
.