Мы знаем, что можем изменить переменные окружения bash, например, PATH , используя скрипт инициализации, например .bashrc . Просто напишите PATH=<VALUE> и вы получите то, что хотите.
Но рассмотрим эту проблему:
У нас есть bash-скрипт с именем rc:
#!/bin/bash
mySite="superUser"
export mySite
echo "the value of mySite is: $mySite"
Затем мы объявляем переменную mySite , выполняем сценарий rc и проверяем значение переменной:
$ declare -x mySite="super"
$ ./rc
the value of mySite is: superUser
$ echo $mySite
super
Значение по-прежнему super . можем ли мы заключить, что дочерняя оболочка не может изменить переменную родительской оболочки напрямую, используя инструкцию типа VARIALBENAME=VLAUE?
Наш rc скрипт похож на .bashrc , и как мы можем изменить значение переменной окружения bash, поместив в него PATH=<VLAUE> , поскольку, когда выполнение .bashrc закончено, переменная вызывающей оболочки по-прежнему не изменяется ?
