пожалуйста, взгляните на следующие команды (оболочкаш)
что-то не совсем ясно для меня
когда я бегу - eval echo \$arr$n, я получаю значениеакак и ожидалось
так почему: ВАЛ=eval echo \$arr$n
, иэхо $VALне выводить одно и то же значениеа?
установить значение в arr1
# n=1
# eval arr$n=a
вывести значение из arr1
# n=1
# eval echo \$arr$n
a
наборeval echo \$arr$n вВАЛ, и распечатать$ВАЛ
# VAL=` eval echo \$arr$n `
# echo $VAL
{*}1
что нужно исправить в команде -ВАЛ=eval echo \$arr$n
, поэтому, когда я это делаюэхо $VALЯ получу ценностьа ?
решение1
попробуйте $()
вместо обратных кавычек:
VAL=$(eval echo \$arr$n)