BASH Substituição de variável (?)

0

Eu tenho o seguinte script:

var1="var1value"
var2="var2value"
var3="var3value"

Eu quero criar o seguinte código:

option=$1

myvar='echo var$option'

Então, quando a opção é "1" o myvar deve ser var1value, quando a opção é "2" o myvar deve ser "var2value" etc.

Como posso fazer isso?

    
por Peter 07.02.2014 / 10:11

1 resposta

0

Isso fará o que você quiser:

myvar=$(eval echo \$var$option)

No entanto, eval é uma instrução arriscada, então você prefere usar uma matriz em vez desse tipo de nomeação de variáveis, por exemplo:

var[1]="var1value"
var[2]="var2value"
var[3]="var3value"

option=$1

myvar=${var[$option]}
    
por 07.02.2014 / 10:15