没有变量的引用文件夹数组

时间:2016-10-26 08:55:48

标签: bash shell

如果我可以将实际文件夹作为数组获得感谢:

myArray=./*

然后我可以像这样计算这个数组的元素:

${#myArray[@]}

如果不将其分配给变量,我该怎么办?像这样:

${#./*[@]}

2 个答案:

答案 0 :(得分:1)

bash没有匿名数组。您必须创建并填充数组变量,然后将参数扩展运算符应用于它。也就是说,有使用阵列的替代方案; @sorontar提供了一个通常可行的方法。

答案 1 :(得分:0)

怎么样:

set -- ./*;  echo $#

“位置参数”会随着上面的代码而改变。

或更可靠的版本:

(shopt -s nullglob; set -- ./*; echo $#)