递归bash循环数组null

时间:2015-07-17 08:01:25

标签: arrays bash shell

我有一个传递路径的功能。 发生的情况是function setSub来电function testSub,并且在某些情况下testSub使用不同的路径调用setSub

这是我到目前为止所拥有的

shopt -s nullglob 
function setSub() {
    local assets=("$1"/*)   
    echo ${#assets[@]} ######### Here
    for asset in "${assets[@]}";
    do
        if [ -d "$asset" ]; then
            setSub "$asset"
        fi;
    done
}

我标记为'Here'的地方输出数组长度。问题是只要它自己调用assets数组为0.上面的示例应向下钻取并列出目录中的项目数。 (示例的作用,而不是我的整个脚本的作用)

1 个答案:

答案 0 :(得分:0)

我正在寻找的是shopt -s dotglob 我的测试用例只在目录中有点文件。

但在@ l0b0建议之后我做了一些研究并发现了this。 在阅读了关于globing的问题之后,我认为最好用find

替换它