Не все понимают чем отличается определение переменной в Bash c export и без. Сейчас расскажу, чтобы ты больше не сомневался. Вот и до наших краёв донеслась снежная стихия, какая-то «Ольга». Ну хоть не «Арбузова». С названием переменных явно не заморачивались. Ну да ладно, сегодня тоже будет про переменные в Bash.
Есть 2 распространенных способа объявить переменную: Что тут не так? А тут всё так. Только в первом случае я использую export, чтобы сделать переменную доступной для подпроцессов.
То есть, переменная заданная через export будет доступна для любого процесса, который будет запущен в рамках процесса оболочки.
А если задать переменную БЕЗ export, то переменная будет доступна только в самой оболочке и недоступна для других процессов.
Скучная теория, давай на практике:
Запускаем, смотрим, ага переменная задается без экспорта и выводится на экран. Идем дальше и запускаем это: 1. Экспортируем var1
3. Объявляем вторую переменную var2
4. Запускаем bash в bash (подпроцесс)
5. Получ