Скомпилированные библиотеки загружаются автоматически при выполнении двоичного файла. Для этого проверяются места, определенные в файле /etc/ld.so.conf. На большинстве дистрибутивов библиотеку следует помещать в /usr/local/lib
, где хранятся библиотеки, не установленные пакетным менеджером.
Если вы не хотите устанавливать библиотеку по всей системе (или не имеете корневого доступа), вы можете установить LD_LIBRARY_PATH
в папку, содержащую ваш .so-файл при запуске вашей программы:
LD_LIBRARY_PATH=/path/to/folder_with_so_file ./yourprogram
Что касается номера версии: если ваша программа явно ищет . so
без номера, создайте сим-ссылку (также в папке lib):
ln -s <name>.so.0 name.so
Большинство библиотек сохраняют файл с наиболее определенным номером версии и создают сим-ссылки для основной версии, а неверсионное имя (например, в моей системе /usr/lib
содержит файлы libjpeg.so
, /usr/lib64/libjpeg.so.62.
и /usr/lib64/libjpeg.so.62.0.0
, причем первые два файла являются симлинками со вторыми)
Ключевой бит синтаксиса, который вам здесь не хватает:
git commit -m "$(printf "Updated $submodule Submodule\n\n" ; git diff $submodule)"
Использование формы подстановки команд $ ()
внутри двойных кавычек отправляет вывод git diff ... От
до git commit
в виде сообщения фиксации с неизмененными символами новой строки.
Я использовал здесь printf
вместо echo
, чтобы добавить строку темы, поскольку для чего-либо даже немного сложного, например, работы со встроенными escape-символами, echo
в основном непереносной по историческим причинам.
Остальная часть сценария оставлена студенту в качестве упражнения. :)