我试图在 for 循环中增加一个变量名,以便在每个循环中获取 4 个动态变量,这是一个例子
while read line
do
for n in `seq 1 4`
do
vr$n=$(echo -e "$line" | awk '{print $'$n'}')
#test
echo vr$n
done
done < rst.txt
cat rst.txt
AAA BBB CCC DDD
111 222 333 444
*** --- /// +++
我的问题是,当我尝试执行脚本时,它会尝试在变量中执行结果,但出现错误“未找到命令”,有什么想法吗?谢谢
答案1
vr$n=value
如果没有 ,就无法使用变量 ( ) 来命名变量export
。不过,我建议改用数组:
vr[$n]=$(echo -e "$line" | awk '{print $'$n'}')
然后使用如下语法引用该值:
echo ${vr[$n]}