双击运行 bash 脚本并不具有所有环境变量

双击运行 bash 脚本并不具有所有环境变量

我在跑步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}"  

相关内容