Как связать общую библиотеку в сценарии оболочки?

Я написал простой сценарий оболочки, в котором я упомянул только следующую строку

экспортировать LD_LIBRARY_PATH=/home/lib/

Я хочу запустить одну программу, для которой мне нужно связать эту библиотеку, перед запуском программы я запускаю этот сценарий оболочки, но после этого программа не работает, она показывает ошибку связывания, и когда я делаю следующую строку, она ничего не показывает

эхо $LD_LIBRARY_PATH

но когда я обычно делаю это в оболочке, он работает.

Может ли кто-нибудь сказать, почему этот сценарий оболочки не работает. Какова его концепция.

Спасибо


person pradipta    schedule 25.09.2012    source источник


Ответы (1)


Если вы хотите запустить сценарий с целью изменения переменных среды, вам нужно получить сценарий, а не запускать его. Запуск сценария запускает новый экземпляр оболочки w/e, который используется для запуска сценария, когда он возвращается, все переменные среды возвращаются к тому состоянию, в котором они были до запуска. Выполнение «source script.sh» фактически запускает команды в сценарии в вашей текущей оболочке.

person CrazyCasta    schedule 25.09.2012