如何在shell脚本中将一个变量值赋给另一个变量
我在shell代码下面尝试将如何在shell脚本中将一个变量值赋给另一个变量,shell,Shell,我在shell代码下面尝试将temp的值设置为“good 1”和“good 2”,但未能实现 hello_1="good 1" hello_2="good 2" for i in 1 2 do temp="hello_$i" echo $temp done 我想将hello_1和hello_2变量值提取到temp变量中。 我尝试了上面的脚本,但无法将hello_1和hello_2的值输入temp。请帮助我。如果您使用的是bash4或更高版本,请阅读。但要回答你的问题,你可以这样做 hello_
temp
的值设置为“good 1”和“good 2”,但未能实现
hello_1="good 1"
hello_2="good 2"
for i in 1 2
do
temp="hello_$i"
echo $temp
done
我想将hello_1
和hello_2
变量值提取到temp
变量中。
我尝试了上面的脚本,但无法将
hello_1
和hello_2
的值输入temp
。请帮助我。如果您使用的是bash4
或更高版本,请阅读。但要回答你的问题,你可以这样做
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
在shell编程中,eval
通常被认为是邪恶的。不要养成使用它的习惯
关键技术是eval
提供线路的第二次评估。在第一次通过时,它看起来像
eval temp="$hello_1"
请注意$i
如何显示为1
,并且前导的\\
字符已从\$hello\u 1
中删除,因此
执行eval
时,该行的处理采用$hello_1
变量的值,并将其分配给temp
,即
temp="good 1"
IHTH可能会尝试像${hello\u${i}那样进行对话。试着让我们知道是否工作。也试着回显价值