我想设置一个环境变量LD_LIBRARY_PATH
,它可能存在也可能不存在(它目前似乎不存在,但我不确定它是否会在某个时候存在)。我已经成功地设置了自己的vars,并扩展了PATH
变量,方法是将path.sh
放置到/etc/profile.d/
中,这很好,但是这个新变量似乎不起作用。我已经尝试过扩展它或设置它新的,有和没有if /see(见屏幕截图)。不管我做什么,它都不会添加到环境变量中,我也不知道为什么(因为它以前起作用了)。我重新启动了,所以这不应该是问题所在。
为了便于阅读,以下是文本形式的path.sh
内容:
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
变量只是为了测试目的,它实际上并不是必要的。
发布于 2021-01-20 03: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文件
另请参阅:
https://askubuntu.com/questions/1309502
复制相似问题