パラメータ拡張で間接と置換を組み合わせる方法

パラメータ拡張で間接と置換を組み合わせる方法

一方

VAR=A-B
A_B=X

Xで必要ですVAR

頑張った

$ echo ${!VAR/-/_}
-bash: A-B: invalid variable name

優先順位が間違っているようです(!VAR最初に拡張)。

そして

$ echo ${!${VAR/-/_}}
-bash: ${!${VAR/-/_}}: bad substitution

(実際の状況で私が心配しているのVARは、CIRCLE_USERNAME私のGithubユーザー名に1つがあり、名前に変数を作成-できないことです。)-

答え1

もちろん、この記事を投稿した後、私は何をしても何もしないことにすぐに気づきました。

VAR_REPLACED=${VAR/-/_}
echo ${!VAR_REPLACED}

私はそれを一段階で行う方法にまだ興味があります。

関連情報