设置当前脚本的库路径

设置当前脚本的库路径

如何设置当前正在运行的脚本的库路径?我的意思是我不想在文本文件中列出库的新路径。我尝试使用export LD_LIBRARY_PATH=$(pwd)/lib/

这是脚本:

#!/bin/bash
LD_LIBRARY_PATH="$(pwd)/lib/"
export LD_LIBRARY_PATH
./X3TC_config

答案1

在您的脚本中,靠近顶部的这两行应该可以解决问题:

LD_LIBRARY_PATH="$(pwd)/lib"
export LD_LIBRARY_PATH

虽然bash允许您在单个语句中设置和导出变量,但并非所有 shell 都这样做,因此如果您担心的话,两步方法更可移植。

如果这对您不起作用,请检查您是否从正确的位置运行脚本 -$(pwd)像这样使用会将您从包含所需子目录的目录运行脚本./lib

如果您希望能够从任何地方运行脚本,则需要使用子目录的绝对路径./lib,或者使用例如以下命令从脚本路径的目录部分构建相对路径:$(dirname $0)

答案2

你应该这样执行你的程序:

LD_LIBRARY_PATH=$(pwd)/lib/ <your_executable_here>

相关内容