美文网首页
shell 递归函数

shell 递归函数

作者: AppleLin_cdea | 来源:发表于2021-09-27 18:56 被阅读0次

2021年9月27日18:35:44 星期一
在定义 shell 函数时,要加 local 来定义变量为函数内局部变量。

例子: 递归显示目录和子目录文件

示例代码

#!/bin/bash
# my_ls.sh

usage()
{
    echo "usage: `basename $0` <ls_dir>"
}

if [ $# -ne 1 ];then
    usage
    exit 1
fi

if [ ! -d $1 ];then
    echo ERROR: $1 is not a  directory.
    usage
    exit 2
fi

f_ls()
{
    local tmp_dir=$1
    local file=""

    echo $tmp_dir/

    for file in `ls $tmp_dir`
    do
        if [ -d $tmp_dir/$file ];then
            f_ls "$tmp_dir/$file"
        else
            echo "$file"
        fi
    done
}

f_ls $1

测试

apple$tree test
test
├── 1.txt
├── a
│   ├── a1
│   ├── a1.txt
│   └── a2.txt
├── b
│   └── b1.txt
└── c

4 directories, 4 files
apple$./my_ls.sh test
test/
1.txt
test/a/
test/a/a1/
a1.txt
a2.txt
test/b/
b1.txt
test/c/

相关文章

  • shell 递归函数

    2021年9月27日18:35:44 星期一在定义 shell 函数时,要加 local 来定义变量为函数内局部变...

  • Day10递归函数、模块、迭代器、生成器

    一、递归函数 1、什么是递归函数 在函数中调用函数本身的函数就是递归函数。 2、递归的作用 循环能做的递归都能做 ...

  • day11 函数(3)

    递归函数 实际开发的时候,能不用递归就不用 什么是递归函数 函数中调用函数本身的函数就是递归函数 递归的作用: 循...

  • python 递归函数

    递归函数 递归函数 : 在函数的调用自身 递归边界 : 退出递归的终止条件 例1,函数func如果没有设备递归边界...

  • day11-日常(递归函数、模块、迭代器、生成器)

    递归函数(实际开发的时候,能不用递归就不用) 1.什么是递归函数 函数中调用函数本身的函数就是递归函数 2.递归的...

  • 2019-01-07day11学习总结

    递归函数 实际开发的时候能不用递归就不用递归 1. 什么是递归函数 函数中调用函数本身的函数就是递归函数 2. 递...

  • 递归函数、模块、生成器、迭代器

    一、递归函数 实际开发的时候,能不用递归就不用 1.什么是递归函数 函数中调用函数本身的函数就是递归函数 2.递归...

  • day 11总结

    递归函数 实际开发的时候,能不用递归就不用1.什么是递归函数函数中调用函数本身的函数就是递归函数 2.递归的作用:...

  • Day11笔记

    实际开发的时候,能不用递归就不用 递归函数 1.什么是递归函数函数中调用函数本身的函数就是递归函数 2.递归的作用...

  • day11 生成器迭代器

    一、递归函数 1.什么是递归函数在函数中调用函数本身的函数就是递归函数 2.递归的作用:循环能做的事,递归都能做 ...

网友评论

      本文标题:shell 递归函数

      本文链接:https://www.haomeiwen.com/subject/mslknltx.html