Shell脚本在当前终端添加环境变量的正确姿势

吴尼玛 -
Shell脚本在当前终端添加环境变量的正确姿势
在Linux中我们经常需要设置一些环境变量,设置环境变量的方式有很多,有些是对当前用户有效的,有些是对所有用户有效的,有些是永久的。很多时候我们会有这样的需求,只要在当前终端中让设置的环境变量生效,这样退出该终端后不影响其他程序的运行。一般可以通过export命令来设置环境编写,比如设置动态库加载路径export LD_LIBRARY_PATH=./lib。如果需要配置的环境变量很多,或者每次做某件工作前都得配置这些环境变量,这时通过手动输入命令的方式就很不方便了,这时就需要shell脚本登场。我们可以将配置的命令写到shell脚本中,这样只用执行一下脚本就能完成工作了,程序员的原则就是能用脚本做的事情绝不动手。写好脚本set_env.sh后,我们欢欣鼓舞的在当前终端中执行./set_env.sh,却会发现设置并没有生效,用export命令查看也没有看到新的配置。关键原因就在于通过./set_env.sh这种方式执行一个脚本文件其实脚本中的命令是在子shell中运行的,执行的结果只对子shell有效,并不会在父shell中生效。这种情况下正确的姿势就是使用source set_env.sh,这样设置的环境变量就会在当前终端中生效。source命令的作用是在当前bash终端下读取并执行shell文件中的命令。更简单的命令是. set_env.sh,点命令(.)和source是等效的。
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

linuxshell

扩展阅读

加个好友,技术交流

1628738909466805.jpg