Разница между использованием export и созданием локальных переменных в Bash заключается в области действия переменных: 13
- Использование export. 13 Эта команда отмечает переменную для экспорта во все дочерние процессы, созданные внутри оболочки, и делает её переменной окружения. 1 Доступ к такой переменной можно получить как в родительской оболочке, так и во всех дочерних оболочках, процессах и командах. 1
- Создание локальных переменных. 14 Если переменная задана без использования export, то она будет доступна только внутри оболочки. 1 Другими словами, дочерние оболочки, процесс или команды вне её не получат доступа к ней. 1
Таким образом, переменные окружения (определённые с помощью экспорта) подобны глобальным переменным, а переменные оболочки (определённые без экспорта) подобны локальным переменным, доступ к которым можно получить только внутри этой оболочки. 1