我知道我可以使用间接扩展来调用名称包含在其他变量中的变量,如下所示
VAR=“测试”
VARNAME="VAR"
回声 ${!VARNAME}
但是,如果我尝试用这个重新定义一个变量:
VARVALUE=0 值="VARVALUE"
${!VARNAME}=${!VALUE}
回声 ${!VARNAME}
它不起作用,我得到
bash: test=0: 找不到命令
我可以看到为什么这个变量声明失败,但我不知道如何修复它。在搜索中,我只找到了使用间接扩展调用变量的示例,但没有这样定义它们。
编辑:
经过多一点搜索,我试过了
eval "${!VARNAME}=${!VALUE}"
抛出
bash: =0: 找不到命令