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
.