【发布时间】:2014-10-06 01:44:09
【问题描述】:
我在我的 bash 脚本中遇到了问题。 我需要根据我文件夹中的文件分配新变量,并根据脚本获得的参数数量(无论它是否是脚本)为它们分配一个数字。 我正在尝试编写这样的脚本:
n_${array[*]}=`arg_count ${array[*]}`
而 arg_count 检查脚本获得了多少参数。 为了进一步使用,如果需要具有不同参数的函数,我将更改这些变量。
提前致谢!
【问题讨论】:
-
考虑发布您的脚本吗?
-
${array[*]}将数组中的元素与 IFS 的第一个字符组合在一起,然后(当不带引号时,如此处)将它们拆分为 IFS 中的所有字符和 glob-expands。在将内容传递给arg_count时,它非常非常非常不太可能符合您实际想要实现的行为。请考虑"${array[@]}"(带引号)。 -
另外,请参阅 BashFAQ #6 关于间接分配给变量:mywiki.wooledge.org/BashFAQ/…
-
...好吧,如果您只想计算数组中元素的数量,那就是
${#array[@]}。