Linux 文件夹数返回为零值

Linux 文件夹数返回为零值,linux,shell,Linux,Shell,我试图计算作为参数传递的文件夹数量,不知何故,增量返回为0。 代码如下所示: ` fi $1是文件夹名称,$2是文件夹名称的一部分。 例如,它应该计算文件夹中的文件夹数。 测试文件夹中还有3个文件夹,计数应该是3,但我一直得到0值您的脚本有很多语法问题 要计算文件夹中的文件夹数,可以使用此功能: cntdir() { local a=( "$1"/"$2"*/ ); echo "${#a[@]}"; } 然后称之为: cntdir folder1 abc 此函数使用glob模式“$1”/“

我试图计算作为参数传递的文件夹数量,不知何故,增量返回为0。 代码如下所示: `

fi

$1是文件夹名称,$2是文件夹名称的一部分。 例如,它应该计算文件夹中的文件夹数。
测试文件夹中还有3个文件夹,计数应该是3,但我一直得到0值

您的脚本有很多语法问题

要计算文件夹中的文件夹数,可以使用此功能:

cntdir() { local a=( "$1"/"$2"*/ ); echo "${#a[@]}"; }
然后称之为:

cntdir folder1 abc
  • 此函数使用glob模式
    “$1”/“$2”*/
    创建一个数组
    a
    ,其中
    /
    最后确保我们只匹配目录
  • ${#a[@]}
    获取数组元素的计数
cntdir folder1 abc