在我的bash脚本我有两个变量CONFIG_OPTION,并CONFIG_VALUE包含字符串VENDOR_NAME和Default_Vendor分别.
我需要创建一个名为$CONFIG_OPTIONie 的变量,VENDOR_NAME并将值赋给CONFIG_VALUE新创建的变量.
我怎么能这样做?
我试过了
$CONFIG_OPTION=$CONFIG_VALUE
Run Code Online (Sandbox Code Playgroud)
但我在这一行上收到错误
'./Build.bash: line 137: VENDOR_NAME="Default_Vendor": command not found'
Run Code Online (Sandbox Code Playgroud)
谢谢.
gni*_*urf 34
我知道没有人会提到它,所以我走了.你可以用printf!
#!/bin/bash
CONFIG_OPTION="VENDOR_NAME"
CONFIG_VALUE="Default_Vendor"
printf -v $CONFIG_OPTION "$CONFIG_VALUE"
# Don't believe me?
echo "$VENDOR_NAME"
Run Code Online (Sandbox Code Playgroud)
完成!
顺便说一句,这是一种相当快速的方法(与declare方法一样快).
Kou*_*sha 13
这使用bash内置:
#!/bin/bash
VAR1="VAR2"
declare "${VAR1}"="value"
echo "VAR1=${VAR1}"
echo "VAR2=${VAR2}"
Run Code Online (Sandbox Code Playgroud)
脚本输出:
VAR1=VAR2
VAR2=value
Run Code Online (Sandbox Code Playgroud)
这是使用变量名称的代码段:
#!/bin/bash
CONFIG_OPTION="VENDOR_NAME"
declare "${CONFIG_OPTION}"="value"
echo "CONFIG_OPTION=${CONFIG_OPTION}"
echo "VENDOR_NAME=${VENDOR_NAME}"
Run Code Online (Sandbox Code Playgroud)
脚本输出:
CONFIG_OPTION=VENDOR_NAME
VENDOR_NAME=value
Run Code Online (Sandbox Code Playgroud)