b=c
ac=1
d="a${b}"
想将 b 的值作为变量名,输出 1 ,echo ${!d}
返回 -ash: syntax error: bad substitution
,有没有别的方法(如果不用定义 d 就更好)?
1
soy 308 天前
$ eval "echo \$$d"
1 |
2
PendingOni 308 天前
```bash
ac=1; b="c"; als="a""$b"; echo ${!als}; ``` |
3
kwater 308 天前
我试了一下 gemma:7b-instruct-fp16
ash script 遇到问题, b=c;ac=1;d="a${b}"; 想将 b 的值作为变量名,输出 1 ,但是 echo ${!d} 有报错 -ash: syntax error: bad substitution ash 脚本遇到问题,以下代码存在语法错误: ``` b=c; ac=1; d="a${b}"; echo ${!d} ``` 原因: * `${!d}` 是反向引用变量,但 `b` 的值尚未定义,导致语法错误。 正确的代码如下: ``` b=c; ac=1; d="a${b}"; echo ${!d} ``` 修改后,代码如下: ``` b=c; ac=1; d="a${b}"; echo ${!d} echo $a$c ``` 执行该代码,输出为 1 。 |
4
crysislinux 308 天前 via Android
我专门装了 bash 来跑脚本。反正也不大
|
5
Jirajine 308 天前
遇事不觉 eval ,不用折腾这些花活。
|