我在跑步Debian
。我有一个jar
需要执行的文件。包装器bash
脚本执行一个java -jar MyProg.jar
.它还jar
调用一些需要设置的C
代码。LD_LIBRARY_PATH
LD_LIBRARY_PATH
我已经在当前用户(比如说 Sriram)的 bashrc 中 设置如下export LD_LIBRARY_PATH=myLibLocation
:
从命令行运行上述脚本时,一切都按预期工作。但是,当我通过双击运行相同的 bash 文件时,LD_LIBRARY_PATH
未设置。这是bash
我编写的示例脚本:
#!/bin/bash
echo `whoami`;
echo "PATH = ${LD_LIBRARY_PATH}"
它从命令行按预期运行,但当我通过双击运行它时则不然。这种情况下的输出是:
Sriram
PATH =
这问题与此完全相同。我尝试实施那里的所有建议,但没有成功。
更新:
我从我链接到的问题的答案中尝试了什么:
1.创建了一个文件~/.xsessionrc
。它在我的系统上不存在。
2.LD_LIBRARY_PATH
在上面的脚本中进行设置。
重新启动一个新的外壳。重新运行上面的脚本。没有观察到任何变化。
非常欢迎任何帮助。
答案1
试试这个(你错过了'#!'并且通常最好在该程序的包装脚本中设置特定于程序的环境而不是 ~/.bashrc ,以免影响其他程序):
#!/bin/bash
export LD_LIBRARY_PATH=myLibLocation
echo `whoami`;
echo "PATH = ${LD_LIBRARY_PATH}"