У меня есть следующий скрипт:

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

Я хочу создать следующий код:

option=$1

myvar=`echo var$option`

Таким образом, когда опция "1", myvar должен быть var1value, когда опция "2", myvar должна быть "var2value" и т.д.

Как я могу это сделать?

1 ответ1

0

Это будет делать то, что вы хотите:

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

Тем не менее, eval - это рискованная инструкция, поэтому вы бы предпочли использовать массив вместо этого типа именования переменных, например:

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

option=$1

myvar=${var[$option]}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .