sh + как запустить команду и установить ее в параметр ( VAL )

sh + как запустить команду и установить ее в параметр ( VAL )

пожалуйста, взгляните на следующие команды (оболочкаш)

что-то не совсем ясно для меня

когда я бегу - 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)

Связанный контент