exportекспорту для дітей поточного процесу, за замовчуванням вони не експортуються. Наприклад:
$ foo=bar
$ echo "$foo"
bar
$ bash -c 'echo "$foo"'
$ export foo
$ bash -c 'echo "$foo"'
bar
set, з іншого боку, встановлює атрибути оболонки, наприклад, позиційні параметри.
$ set foo=baz
$ echo "$1"
foo=baz
Зауважте, що bazне призначений foo, він просто стає буквальним позиційним параметром. setДивіться багато інших речей (переважно варіанти оболонок), див help set.
Що стосується друку, exportвиклик без аргументів друкує всі змінні в середовищі оболонки. setтакож друкує змінні, які не експортуються. Він також може експортувати деякі інші об'єкти (хоча слід зазначити, що це не портативний), див help export.