#linux #bash
#linux #bash
Вопрос:
Я работаю с кластером, и, поскольку у меня там нет привилегий sudo, мне пришлось установить инструментарий по другому пути ~/bin/tool_kit
. Теперь этот путь содержит следующие каталоги: bin
, include
и lib
. Это может быть очень вопрос новичка, но какие изменения я должен внести в свой .bashrc
, чтобы я мог использовать этот инструментарий.
Например, $PATH
переменная может быть увеличена следующим образом: export PATH = ~/bin/tool_kit/bin:$PATH
. Как мне включить lib
и include
?
Комментарии:
1.
~/.bashrc
это неправильный файл для изменения — он запускается при создании каждой интерактивной оболочки, даже если он является дочерним элементом другой интерактивной оболочки, которая уже установила нужные вам переменные среды.~/.bash_profile
правильно ли устанавливать переменные среды только один раз , при входе в систему.2. Что касается назначения ПУТИ, не ставьте пробелы
=
. Используйте что-то вроде `export PATH=~/»bin/tool_kit/bin:$PATH»3. «правильный» и «неправильный» являются относительными, когда дело доходит до bashrc.
4. Во всяком случае, во многих случаях вам не нужно ничего делать с вашими
lib
include
каталогами и . Если все библиотеки статичны, то хорошо работающая программа будет использовать pkgconfig или что-то подобное, чтобы указывать на их расположение, когда это необходимо.5. Если библиотеки не являются статическими, вам может потребоваться установить
LD_LIBRARY_PATH
, но это только в том случае, если программное обеспечение не было создано с установленным флагом rpath для предполагаемого места установки.
Ответ №1:
bin
это единственное место, с которым вам обязательно нужно что-то делать:
# using end of the PATH, unless you know you want to override like-named system binaries
PATH=$PATH:$HOME/bin/tool_kit/bin
Здесь не export
требуется, поскольку PATH
переменная уже находится в среде.
Если и только если ваше программное обеспечение не компилировалось в a rpath
, указывающем на ожидаемые местоположения библиотеки времени выполнения, вы также можете задать LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH $LD_LIBRARY_PATH:}$HOME/bin/tool_kit/lib
include
файлы используются только при компиляции другого программного обеспечения и обычно не нужны во время выполнения.