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

  • Сохранять значения глобальных переменных через функции
  • inotifywait - получить старое и новое имя файла при переименовании
  • Как автоматически устанавливать пакеты?
  • Установка переменной, значение которой зависит от другой переменной
  • Как я могу получить много адресов из многих траекторий с помощью сценария bash без ошибок?
  • Как сделать OR grep (с разными настройками GREP_COLOR)
  • Как выбрать уникальные значения массива?
  • Как сделать скрипт sudo без пароля для любого пользователя в bash
  • 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 - лучшая ОС в мире.