Почему я не могу успешно экспортировать путь в сценарий 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?

  • Наследовать перенаправления IO из сценария в другой
  • bash - определяющие переменные с VAR = $ {: - по умолчанию}
  • xterm не найден абсолютный путь для оболочки
  • скрипты bash преобразуют прописные буквы в нижний регистр и наоборот
  • Распространяемое завершение для моих сценариев bash
  • Почему set -e не работает внутри () ||
  • Сценарий оболочки с трубами, не работающими в crontab
  • apt-get скрипт для обновления обновления dist-upgrade clean и autoremove
  • 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 - лучшая ОС в мире.