shell 问题 source project_env.sh

project_env.sh里面是设置的各个库路径LD_LIBRARY_PATH,比如如下:

export LD_LIBRARY_PATH=$PWD/../3rdparty/opencv:$PWD/../3rdparty/libboost:$PWD/../3rdparty/glog:$PWD/../3rdparty/gflags:$PWD/../3rdparty/caffe:$PWD/../3rdparty/libtorch:$PWD/../3rdparty/cuda:$PWD/../3rdparty/lib:$PWD/../3rdparty/protobuf

然后我就执行sh project_env.sh

后面我再当前终端下查看设置成功了没有,也是打印出来看:

echo $LD_LIBRARY_PATH

很遗憾,还是之前的,设置的好像没有起效果,我顿刻明白了,他这个执行sh脚本是在子shell里面执行的,也就是说内部新开了一个shell,设置的LD_LIBRARY_PATH变量并不能反应到当前shell。
不要问我为什么知道的,多看书,☺_. --->这本书里面有讲 <<Linux命令行与shell脚本编程大全.第3版>>
然后要子shell设置的变量反应到当前终端shell,需要用source执行。

source project_env.sh
posted @ 2021-10-22 16:10  无左无右  阅读(133)  评论(0编辑  收藏  举报