linux – 导出另一个文件中定义的变量

前端之家收集整理的这篇文章主要介绍了linux – 导出另一个文件中定义的变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个脚本,其中包含一些需要设置为环境变量的变量

变量列表不断变化,修改它在我的目的不是一个选择.任何想法我该怎么做呢?

示例文件foo.sh

FOO="FOOFOO"
BAR="BARBAR"

解决方法

变量和环境变量之间有区别.如果你执行foo.sh和foo.sh包含行FOO =值,则在当前进程中将分配变量FOO.它不是环境变量.要成为一个环境变量(因此可以使用到子shell),它必须被导出.但是,shell提供了一个选项,使所有可变赋值都将变量提升为一个环境变量,所以如果你简单地做:
set -a
. foo.sh
set +a

那么在foo.sh中的所有变量赋值都将成为当前进程中的环境变量.请注意,这并不完全正确:在bash中,导出变量使其成为当前shell中的环境变量,但在其他shell(例如,破折号)中,导出变量并不会使其成为当前shell中的环境变量. (它确实使它被设置在subshel​​ls的环境中.)

原文链接:https://www.f2er.com/linux/395256.html

猜你在找的Linux相关文章