KSHの文字列名から環境変数を取得する方法

KSHの文字列名から環境変数を取得する方法

次の変数があります。

x="envVar"

「envVar」は、パス(インスタンス固有のフォルダ)を含む環境変数の名前の1つです。だから私もしたい

cd $x 

しかし、うまくいきません。 xの値を環境変数として使用するには?

「eval」では動作しません。

ベストアンサー1

ksh 93がある場合は、x変数名への参照として宣言できます。

$ ksh --version
  version         sh (AT&T Research) 93u+ 2012-08-01
$ ksh -c '
    envVar=foo
    x=envVar
    nameref x
    echo $x
'
foo

おすすめ記事