gpt4 book ai didi

macos - Mac OS X "El Capitan": cannot read user set Bash environment variables

转载 作者:行者123 更新时间:2023-12-04 16:16:27 24 4
gpt4 key购买 nike

我有一个 shell 脚本,可以导出构建软件项目所需的几个环境变量(Android keystore 位置)。

通常当我调用脚本时,环境变量被导出,IDE 可以访问它们,Bash 终端上的导出命令也是如此。

由于我安装了Mac OS X El Capitan,通过Bash命令设置的环境变量

export FOO="bar"

当我尝试访问它们时没有返回

echo $FOO

在 shell 上。相反,我只返回一个空行。

如果我在 shell 脚本中使用 printenv,则会显示 $F00

当我从现金终端调用 printenv 时,$FOO 丢失了。

我读到 OS X“El Capitan”更新修复了一些关于 bash 的安全问题。这可能是原因吗?

最佳答案

您不能使用 shebang 脚本(第一行以 #! 和可执行文件的路径名开头的脚本)修改或导出 shell 中的变量,如果您正在这样做的话,因为创建一个单独的进程来执行脚本,它导出的任何变量仅对其子进程可见。

例如,您只能安排脚本修改当前 shell 中的变量,方法是使用 .(或 source)在当前进程中执行脚本。

例如~/.bashrc~/.bash_profile~/.bash_logout脚本都是由shell直接执行的,因此他们可以设置或导出变量,以供从 shell 运行的命令和子 shell 继承。

关于macos - Mac OS X "El Capitan": cannot read user set Bash environment variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33298718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com