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