gpt4 book ai didi

循环中的 Bash 变量名扩展

转载 作者:行者123 更新时间:2023-12-04 08:03:09 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Bash expand variable in a variable

(5 个回答)


6 个月前关闭。




我有几个变量的名称格式为:

var0_name
var1_name
var2_name
我希望能够以这样的方式遍历它们:
for i in {0..2}
do
echo "My variable name = " ${var[i]_name}
done
我尝试了几种不同的方法来让这个扩展工作,但到目前为止都没有运气。

最佳答案

使用 ${!prefix*}扩展在 bash :

#!/bin/bash

var0_name=xyz
var1_name=asdf
var2_name=zx

for v in ${!var*}; do
echo "My variable name = $v"
# echo "Variable '$v' has the value of '${!v}'"
done
或等效地,通过替换 for循环:
printf 'My variable name = %s\n' ${!var*}

您也可以考虑阅读 Shell Parameter Expansion有关 bash 中所有形式的参数扩展的详细信息,包括答案中使用的那些。

关于循环中的 Bash 变量名扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66351005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com