Почему я не могу успешно экспортировать путь в сценарий bash?

Чтобы получить код C для правильной компиляции, мне нужно экспортировать папку, чтобы найти определенный файл.

В командной строке, если я сначала запускаю

export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH

а затем исполняемый файл из кода C работает. Если я не экспортирую LD_LIBRARY_PATH , то исполняемый файл завершится с ошибкой, так как пакет C не может найти необходимый файл, т. Е.

 exectuable: error while loading shared libraries: file1.so: cannot open shared object file: No such file or directory 

Теперь я хотел бы запустить этот код через скрипт bash. Вот мой сценарий bash, run_stuff.sh :

 #!/bin/bash source ~/.bash_profile export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH path/to/executable/executable 

Это не с ошибкой выше. С тех пор я попробовал

echo "export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH"

в сценарии bash, и я добавил

export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH

в ~/.bash_profile . Он все еще не работает – код C не может найти этот файл.

Как правильно экспортировать папку в сценарий bash?

  • Что означает «пока:»?
  • Соответствие парам «значение ключевого слова» из полуструктурированного ввода
  • Как скрипт знает путь к файлу .desktop, который запустил его?
  • Проблема со всей функцией в скрипте
  • Каковы некоторые лучшие варианты кодирования вложений электронной почты, чем uuencode в сценарии bash?
  • как удалить 0 (ноль) со дня и месяца, но не с года (01/09/2012), используя в Linux (Redhat)
  • Как распознать состояние праздности в течение определенного периода в сценарии?
  • Как назначить {} переменной в find --exec
  • One Solution collect form web for “Почему я не могу успешно экспортировать путь в сценарий bash?”

    1

    Он может быть экспортирован локально.

     #!/bin/bash LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH path/to/executable/executable 

    используя VAR=value cmd будет устанавливать и экспортировать VAR для процесса cmd .

    2

    экспортировать его в два этапа

     #!/bin/bash LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH export LD_LIBRARY_PATH path/to/executable/executable 

    так я и делаю в своих сценариях. (обратите внимание, что это противоречит тому, что говорит на странице человека)

    export [-fn] [name [= word]] …

    Если за именем переменной следует слово = word, значение переменной устанавливается в слово.

    Linux и Unix - лучшая ОС в мире.