在 for 循环中导出多个变量
Exporting multiple variables in a for loop
我在 bash 脚本的 for 循环中导出多个环境变量时遇到问题。
完整的脚本如下所示:
IFS_old="$IFS"
IFS=';'
test_data="secret1='data1';secret2='data2';secret3='data3'"
for secret in $test_data
do
eval "export $secret"
done
IFS="$IFS_old"
所以输入字符串由变量及其值组成,用分号分隔。
我遍历它并想导出它们中的每一个;但是,导出的变量具有“空”值。
我也试过在一个单独的变量中编写一个完整的命令字符串,并通过 bash -c "$command"
和 eval "$command"
语句执行它,但它没有用。
你能帮我看看哪里出了问题吗?
这很好用。导出的变量是本地变量,仅在脚本结束前可用。当脚本关闭时,它们在 shell 中不再可用。这个是正常的。
如果您在脚本的最后一行写入 bash
,它将打开一个新终端,其中包含可用的导出变量。
我在 bash 脚本的 for 循环中导出多个环境变量时遇到问题。
完整的脚本如下所示:
IFS_old="$IFS"
IFS=';'
test_data="secret1='data1';secret2='data2';secret3='data3'"
for secret in $test_data
do
eval "export $secret"
done
IFS="$IFS_old"
所以输入字符串由变量及其值组成,用分号分隔。 我遍历它并想导出它们中的每一个;但是,导出的变量具有“空”值。
我也试过在一个单独的变量中编写一个完整的命令字符串,并通过 bash -c "$command"
和 eval "$command"
语句执行它,但它没有用。
你能帮我看看哪里出了问题吗?
这很好用。导出的变量是本地变量,仅在脚本结束前可用。当脚本关闭时,它们在 shell 中不再可用。这个是正常的。
如果您在脚本的最后一行写入 bash
,它将打开一个新终端,其中包含可用的导出变量。