遇到一个不能理解的问题
在 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,环境变量就生效了。
有人知道怎么解决这个问题吗?如何直接执行脚本之后就让环境变量生效?