如何设置当前正在运行的脚本的库路径?我的意思是我不想在文本文件中列出库的新路径。我尝试使用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>