首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何正确设置环境变量(可能不存在)

如何正确设置环境变量(可能不存在)
EN

Ask Ubuntu用户
提问于 2021-01-20 10:40:38
回答 1查看 999关注 0票数 1

我想设置一个环境变量LD_LIBRARY_PATH,它可能存在也可能不存在(它目前似乎不存在,但我不确定它是否会在某个时候存在)。我已经成功地设置了自己的vars,并扩展了PATH变量,方法是将path.sh放置到/etc/profile.d/中,这很好,但是这个新变量似乎不起作用。我已经尝试过扩展它或设置它新的,有和没有if /see(见屏幕截图)。不管我做什么,它都不会添加到环境变量中,我也不知道为什么(因为它以前起作用了)。我重新启动了,所以这不应该是问题所在。

为了便于阅读,以下是文本形式的path.sh内容:

代码语言:javascript
代码运行次数:0
运行
复制
export PATH="$PATH:/snap/cmake/current/bin"
export unreal_path="/DevShared/UnrealEngine"
export GRPC_DIR="/DevShared/Dev_SRS/grpc/1.20.0"
export LD_LIBRARY_PATH="/DevShared/UnrealEngine"

#LD_LIBRARY_PATH may not exist
#ldPath="$unreal_path"
#if [ $LD_LIBRARY_PATH -z ]
#then
#    export LD_LIBRARY_PATH="$ldPath"
#else
#    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ldPath"
#fi

#echo $LD_LIBRARY_PATH

请注意,如果我通过sudo bash /etc/profile.d/path.sh调用脚本,后面的部分执行而不是注释掉,bash实际上会回显正确的路径。而且,ldPath变量只是为了测试目的,它实际上并不是必要的。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2021-01-20 11:13:40

来自Ubuntu帮助

注意:您只能在交互式shell中设置这个环境变量。由于Ubuntu9.04jauntyJackalope,LD_LIBRARY_PATH不能设置在$HOME/.profile、/etc/profile、或/etc/环境文件中。您必须使用/etc/ld.so.conf配置文件。有关更多信息,请参见Launchpad bug #366728。

出于安全原因,LD_LIBRARY_PATH被重置。

您需要在/etc/ld.so.conf.d/中添加一个conf文件

另请参阅:

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1309502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档