遇到一个不能理解的问题
在 shell 脚本中设置环境变量,执行脚本之后环境变量未生效,但在 terminal 手动 source 一下 bashrc 之后就生效了
部分 shell 脚本如下:
#!/bin/bash
.
.
.
DS_KEYFROM="xxx"
DS_KEY="xxx"
echo "export DS_KEYFROM=\"$DS_KEYFROM\"" >> ~/.bashrc
echo "export DS_KEY=\"$DS_KEY\"" >> ~/.bashrc
source ~/.bashrc
.
.
.
执行脚本之后echo $DS_KEYFROM
和 echo $DS_KEY
都没有值
但是查看 bashrc cat ~/.bashrc
是显示已经设置成功的:
.
.
.
export DS_KEYFROM="xxx"
export DS_KEY="xxx"
.
.
.
此时如果手动 source 一下 bashrc source ~/.bashrc
,环境变量就生效了。
有人知道怎么解决这个问题吗?如何直接执行脚本之后就让环境变量生效?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.