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।