String 在Bash中传递变量两次
我希望命令:String 在Bash中传递变量两次,string,bash,variables,String,Bash,Variables,我希望命令:echo“$string4”在循环过程中返回文件开头定义的SETFIELDS\u X\u XX变量的值。但是,它只返回名称SETFIELDS\ux\uxx。我做错了什么 SETFIELDS_2_25=225 SETFIELDS_2_200=2200 SETFIELDS_2_500=2500 SETFIELDS_10_25=1025 SETFIELDS_10_200=10200 SETFIELDS_10_500=10500 SETFIELDS_10_1000=101000 SETFIE
echo“$string4”
在循环过程中返回文件开头定义的SETFIELDS\u X\u XX
变量的值。但是,它只返回名称SETFIELDS\ux\uxx
。我做错了什么
SETFIELDS_2_25=225
SETFIELDS_2_200=2200
SETFIELDS_2_500=2500
SETFIELDS_10_25=1025
SETFIELDS_10_200=10200
SETFIELDS_10_500=10500
SETFIELDS_10_1000=101000
SETFIELDS_50_25=5025
SETFIELDS_50_200=50200
SETFIELDS_50_500=50500
SETFIELDS_50_1000=501000
for LBUB in 2 10 50
do
for generations in 25 200 500 1000
do
string1="SETFIELDS_"
string2="$LBUB"
string3="_$generations"
string4=$string1$string2$string3
#echo "LBUB = $LBUB"
#echo "generations = $generations"
echo "$string4"
done
done
改用这个:
echo ${!string4}
它将打印存储在变量设置字段_X_XX中的值从字符串1、2和3的变量赋值中删除引号,然后重试。引号不会导致此错误。OP是否确定他正在使用
bash
?尝试过,但效果不佳。这很奇怪,因为它似乎无法识别代码>。。。它在我的代码中变得红色和粗体。你确定你在使用bash shell,因为它对我有效。嗨,chepner,是的,我在使用bash。。我有第一行代码/bin/sh
,只是没有把它放在问题中