1

bash スクリプトで環境変数を作成しようとしています。ユーザーは、作成する環境変数の名前を入力し、その値も入力します。

これは、私の質問を詳しく説明するためのハードコードされた方法です:

#!/bin/bash
echo Hello 
export varName="nameX" #
echo $varName 
export "$varName"="val" #here I am trying to create an environment 
#variable  whose name is nameX and assigning it value val
echo $nameX 

それは正常に動作します。出力は次のとおりです。

Hello
nameX
val

しかし、汎用コードが必要です。そのため、ユーザーから変数の名前とその値を入力しようとしていますが、問題が発生しています。名前がユーザー定義の変数をエコーする方法がわかりません

echo "enter the environment variable name"
read varName
echo "enter the value to be assigned to env variable"
read value
export "$varName"=$value

今、私がこのようにした場合、環境変数をエコーする方法がわかりません:

echo "$varName"

割り当てられた値ではなく、ユーザーが環境変数に付けた名前を出力します。そこに価値を反映させる方法は?

ありがとう

4

1 に答える 1