gpt4 book ai didi

shell - 如何在shell脚本中将一个变量值分配给另一个变量

转载 作者:行者123 更新时间:2023-12-01 00:56:16 25 4
gpt4 key购买 nike

我尝试了下面的 shell 代码来获取 temp 的值作为“好 1”和“好 2”,但我无法做到。

hello_1="good 1"
hello_2="good 2"
for i in 1 2
do
temp="hello_$i"
echo $temp
done

我要取 hello_1hello_2变量值转化为 temp多变的。
我尝试了上面的脚本,但我无法获得 hello_1 的值和 hello_2进入 temp .请帮我。

最佳答案

如果您使用 bash 4或更高,阅读 indirect references .但要回答你的问题,你可以做

hello_1="good 1"
hello_2="good 2"
for i in 1 2
do
eval temp="\$hello_$i"
echo $temp
done

输出
good 1
good 2
eval通常被认为是 evil在 shell 编程中。不要养成使用它的习惯。

关键技术是 eval提供线路的第二次评估。在第一遍它看起来像
 eval temp="$hello_1"

请注意 $i显示为 1 , 以及领先的 \\字符已从 \$hello_1 中删除, 所以
eval执行该行的处理取值 $hello_1变量并将其分配给 temp , IE。
 temp="good 1"

IHTH

关于shell - 如何在shell脚本中将一个变量值分配给另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27683082/

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