我正在尝试一个小代码
for(( i =0;i<2;i++ )); do p$i=\"pra$i\"; done
预期输出是:
必须分配变量
p0="pra0"
p1="pra1"
但 bash 将此作为命令,并且输出为
p0="pra0": command not found
p1="pra1": command not found
Thanks
Use eval
根据需要评估和存储值:
$ for(( i =0;i<2;i++ )); do eval p$i=\"pra$i\"; done
$ echo $p1
pra1
或者更好的是declare
(谢谢切普纳 https://stackoverflow.com/questions/22036966/assign-variables-inside-for-loops/22037058?noredirect=1#comment33422400_22037058一如既往!):
$ for(( i =0;i<2;i++ )); do declare "p$i=pra$i"; done
$ echo $p1
pra1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)