我想在我的sh脚本中使用数组
我的目标是为以下值创建数组 - b c 并按数组打印所有值
我成功打印每个数组,但是我无法打印数组中的所有值
请查看以下示例
在arr中设置每个值
n=1
eval arr$n=a
n=2
eval arr$n=b
n=3
eval arr$n=c
打印arr中的每个值
n=1
eval echo \$arr$n
a
n=2
eval echo \$arr$n
b
n=3
eval echo \$arr$n
c
现在我想用$ arr
打印所有值然后我得到以下内容,以获得" a b c"
n="*"
eval echo \$arr$n
{*}*
值应为:
a b c
答案 0 :(得分:0)
您创建的内容根本不是数组。它只有3个独立变量,称为arr1
,arr2
和arr3
。你可能在一个空目录中工作,所以当你说
eval echo \$arr$n
$arr
被扩展为空,因为它不存在,并且$n
被扩展为*
,因为目录中没有文件。如果有,$n
,包含*
,将扩展到目录中的文件列表。
欢迎使用shell编程。 : - )