【发布时间】:2017-04-21 09:17:24
【问题描述】:
我们有一个名为 source.sh 的 shell 脚本,它导出构建所需的许多 ENV 变量。
我试图通过在我的脚本中运行 source.sh 来访问这些 ENV 变量,但即使在运行之后我也无法访问后续命令的 ENV 变量。
我的脚本看起来很像:
#!/bin/bash
sh source.sh
cd $ROOT_VOS
make
但是这里 cd $ROOT_VOS 没有发生
【问题讨论】:
-
顺便说一句,没有充分的理由将其作为环境变量而不是常规的 shell 变量——而且 POSIX 约定指定了用于变量的全大写变量名称的命名空间,其含义为操作系统和外壳,保留小写名称供应用程序使用。 (正式地,这是为环境变量指定的,但是设置一个常规的 shell 变量会覆盖任何类似命名的环境变量,所以这个约定必须在两个地方都适用)。
标签: linux bash shell unix environment-variables