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`

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

Como eu posso fazer isso?

Respostas:


0

Isso fará o que você deseja:

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

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

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

option=$1

myvar=${var[$option]}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.