我正在尝试计算一些作为参数传递的文件夹,并以某种方式将增量返回为0。 代码看起来像: `
all=ls $1 | grep $2
echo $all
k=0
for i in $all
do
if [ -d "$i" ];then
k=$((k+1))
fi
echo $i
done
echo $k
网络连接
$ 1是文件夹名称,$ 2是文件夹名称的一部分。 例如,它应该计算文件夹内的文件夹数量。 测试文件夹里面还有3个文件夹,count应该是3,但我一直得到0值
答案 0 :(得分:1)
您的脚本有很多语法问题。
要计算文件夹内的文件夹,您可以使用此功能:
cntdir() { local a=( "$1"/"$2"*/ ); echo "${#a[@]}"; }
然后将其称为:
cntdir folder1 abc
a
创建数组"$1"/"$2"*/
,其中/
最终确保我们只匹配目录。${#a[@]}
获取数组元素数