BASH Variablensubstitution (?)

0

Ich habe das folgende Skript:

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

Ich möchte folgenden Code erstellen:

option=$1

myvar=`echo var$option`

Wenn die Option "1" ist, sollte die Variable var1value sein, wenn die Option "2" ist, sollte die Variable "var2value" sein usw.

Wie kann ich das machen?

Peter
quelle

Antworten:

0

Dies wird tun, was Sie wollen:

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

Da evales sich jedoch um eine riskante Anweisung handelt, sollten Sie anstelle dieser Art von Variablennamen lieber ein Array verwenden, z.

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

option=$1

myvar=${var[$option]}
jlliagre
quelle