23

私のbashスクリプトには、文字列とそれぞれを含む2つの変数CONFIG_OPTIONとがあります。CONFIG_VALUEVENDOR_NAMEDefault_Vendor

$CONFIG_OPTIONieという名前の変数を作成し、新しく作成した変数にVENDOR_NAME値を割り当てる必要があります。CONFIG_VALUE

どうすればこれを行うことができますか?

私は試した

$CONFIG_OPTION=$CONFIG_VALUE

しかし、この行でエラーが発生しています

'./Build.bash: line 137: VENDOR_NAME="Default_Vendor": command not found'

ありがとう。

4

3 に答える 3

40

誰もそれについて言及しないことはわかっているので、ここに行きます。使えますprintf

#!/bin/bash

CONFIG_OPTION="VENDOR_NAME"
CONFIG_VALUE="Default_Vendor"

printf -v "$CONFIG_OPTION" "%s" "$CONFIG_VALUE"

# Don't believe me?
echo "$VENDOR_NAME"
于 2012-12-05T06:49:19.267 に答える
20

これはbashビルトインを使用します:

#!/bin/bash

VAR1="VAR2"

declare "${VAR1}"="value"

echo "VAR1=${VAR1}"
echo "VAR2=${VAR2}"

スクリプト出力:

VAR1=VAR2
VAR2=value

変数名を使用したスニペットは次のとおりです。

#!/bin/bash

CONFIG_OPTION="VENDOR_NAME"

declare "${CONFIG_OPTION}"="value"

echo "CONFIG_OPTION=${CONFIG_OPTION}"
echo "VENDOR_NAME=${VENDOR_NAME}"

スクリプト出力:

CONFIG_OPTION=VENDOR_NAME
VENDOR_NAME=value
于 2014-10-25T02:38:21.727 に答える