Я испытываю затруднения при выяснении способа правильно связать несколько переменных вместе. Идея состоит в том, чтобы собирать несколько объектов со временем (в этом случае "нечто", "панель" и "baz") и затем конкатенировать вместе в одну строку (исключая: X = "панель нечто 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
Комментарий в для цикла является областью, я испытываю затруднения прямо сейчас. Любая справка очень ценилась бы.Спасибо!
Вы просто должны исключить оператор $ для первого прохода eval:
blob=
for i in 0 1 2
do
eval blob="\$blob\$DATA${i}"
done