dan*_*nio 4 bash environment-variables
我正在使用 MSYS 并有一个文件 vars.txt ,其中包含变量值键,例如:
WINDIR C:/WINDOWS
STS_BUILD_DIRECTORY D:/STS/TMP
ALLUSERSPROFILE C:/Documents and Settings/All Users
Run Code Online (Sandbox Code Playgroud)
我想读入并设置环境变量。我有一个 bash 脚本 setenv:
while read var value;
do
echo "performing export $var=$value"
export $var='$value'
done
Run Code Online (Sandbox Code Playgroud)
我用
cat vars.txt | source setenv
Run Code Online (Sandbox Code Playgroud)
但是在我的环境中没有设置变量。我也试过把它变成一个函数,但没有乐趣。这里有人知道我做错了什么吗?谢谢。
管道设置了一个子壳。当子shell退出时,变量会丢失。
尝试这个:
source setenv < vars.txt
Run Code Online (Sandbox Code Playgroud)
此外,您的单引号可能会阻止变量的扩展(我不知道 MSYS 中是否如此)。尝试将export行更改为:
export $var="$value"
Run Code Online (Sandbox Code Playgroud)
如果不需要导出变量declare,export则可以使用代替。
| 归档时间: |
|
| 查看次数: |
6139 次 |
| 最近记录: |