sh + como executar o comando e configurá-lo no parâmetro (VAL)

0

por favor, olhe os seguintes comandos para baixo, (o shell é sh )

algo não é claro para mim

quando eu executo - eval echo \ $ arr $ n , obtenho o valor a conforme o esperado

então por que: VAL = eval echo \$arr$n e echo $ VAL não imprime o mesmo valor a ?

defina um valor em arr1

# n=1
# eval arr$n=a

imprima um valor de arr1

# n=1
# eval echo \$arr$n
  a

defina eval echo \ $ arr $ n como VAL e imprima $ VAL

# VAL=' eval echo \$arr$n '
# echo $VAL
{*}1

o que precisa ser corrigido no comando - VAL = eval echo \$arr$n , então, quando eu fizer echo $ VAL , obtenho o valor a

    
por maihabunash 03.07.2014 / 17:05

1 resposta

1

experimente com $() em vez de citações anteriores:

VAL=$(eval echo \$arr$n)
    
por 03.07.2014 / 17:44