我无法找到将几个变量正确连接在一起的方法。这个想法是随着时间的推移收集几个项目(在这种情况下“foo”,“bar”和“baz”),然后连接成一个字符串(例如:X =“foo bar baz”)。
以下是我到目前为止编写的代码:
#!/bin/sh
N=0
# assign foo
eval "DATA${N}='foo'"
eval "echo First value is: \$DATA$N" # First value is: foo
N=`expr $N + 1`
# assign bar
eval "DATA${N}='bar'"
eval "echo Next value is: \$DATA$N" # Next value is: bar
N=`expr $N + 1`
# assign baz
eval "DATA${N}='baz'"
eval "echo Last value is: \$DATA$N" # Last value is: baz
for i in 0 1 2
do
# concatenate foo bar and baz into one variable
done
for-loop中的注释是我现在遇到麻烦的区域。任何帮助将非常感激。谢谢!
答案 0 :(得分:2)
您只需要转义第一个eval传递的$运算符:
blob=
for i in 0 1 2
do
eval blob="\$blob\$DATA${i}"
done