gpt4 book ai didi

arrays - sh + 如何在 sh 中使用数组来打印数组中的所有值

转载 作者:太空宇宙 更新时间:2023-11-04 03:56:24 28 4
gpt4 key购买 nike

我想在我的 sh 脚本中使用数组

我的目标是为以下值创建数组 - a 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

最佳答案

您创建的根本不是数组。它只是 3 个独立变量,分别为 arr1arr2arr3。您可能正在一个空目录中工作,所以当您说

eval echo \$arr$n

$arr 扩展为空,因为它不存在,而 $n 扩展为 *,因为目录中没有文件。如果存在,包含 *$n 将扩展到目录中的文件列表。

欢迎来到 shell 编程。 :-)

关于arrays - sh + 如何在 sh 中使用数组来打印数组中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24547087/

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