В ZSH, как я могу использовать имя переменной как часть другого имени переменной? - PullRequest
0 голосов
/ 02 августа 2020

Если у меня есть

readonly platform=macos
readonly val_macos=someval
readonly val_linux=otherval

, я хотел бы иметь возможность делать что-то вроде:

readonly val=${val_${platform}}

, чтобы 'val' присваивалось значение из val_ linux или, в данном случае, val_macos. т.е. val будет иметь значение 'someval'.

Я уверен, что это возможно, но я не смог понять, как это сделать.

1 Ответ

0 голосов
/ 03 августа 2020

Косвенное обращение выражается с помощью (P):

varname=val$platform
val=${(P)varname}
...