使用递归函数历遍PATH环境变量下的所有目录以及可执行文件

#!/bin/bash
###########添加分隔符#######################
IFS=$IFS':'
############递归函数#########################
list () {for F in $1/*
do
if [ -d $F ]thenecho "$2目录:$F"list "$F" " $2"
elif [ -x $F ]then
echo "$2可执行文件:$F"
fi
done
}
##############主体命令########################
for f in $PATHdoecho "目录:$f"list "$f" " "done

执行效果

另一种方法

#!/bin/bash
IFS=$IFS':'
list () {for F in `ls $1`
do
if [ -d $1/$F ]thenecho "$2目录:$F"list "$1/$F" " $2"
elif [ -x $1/$F ]then
echo "$2可执行文件:$F"
fi
done
}for f in $PATHdoecho "目录:$f"list "$f" " "done

执行效果

shell 递归函数相关推荐

  1. shell函数与数组(了解函数,递归函数运用,了解数组,创建基数和偶数数组,冒泡排序,调试命令)

    文章目录 shell函数 了解函数 函数定义 递归函数 举例子 shell数组 定义数组 数组包括的数据类型与数组操作 数组操作 举例(快速创建数组.奇数数组) 冒泡排序法 调试命令 set命令 ba ...

  2. shell脚本编程之函数

    技术交流QQ群:1027579432,欢迎你的加入! 1.基本的脚本函数 脚本函数出现的目的:为了解决大型处理过程中,需要将相同的重复代码封装起来,提高代码的复用性. 函数是一个脚本代码块,你可以为其 ...

  3. iOS使用shell脚本批量修改属性

    背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,除了我在上一篇文章中说道的在壳版本中注入混淆的代码,防止被苹果检测到内容太过雷同而导致审核被拒绝.还有另一种 ...

  4. linux bash Shell脚本经典之Fork炸弹解析:() { :|: };:

    众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能.这样的一款shell中自然不会缺少"函数"这个元素来帮助程序进行 模块化的高效开发与管理.于是产生了由于其 ...

  5. shell在linux里摇摇晃晃

    1.shell不只是一种解释器,还是一种编程工具 查看系统中可用的shell,linux默认使用 Bash Shell [root@localhost ~]# cat /etc/shells /bin ...

  6. Linux Shell脚本编程学习笔记和实战

    http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [ ...

  7. Shell脚本经典之Fork炸弹

    众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能.这样的一款shell中自然不会缺少"函数"这个元素来帮助程序进行模块化的高效开发与管理.于是产生了由于其特 ...

  8. linux shell 脚本 supress,《linux Shell 脚本攻略》进阶学习(第一部分)

    第二章命令之乐 cat 不仅可以读取文件并且连接数据,它还能从标准输入中进行读取 要从标准输入中读取,就要使用管道操作符 echo 'Text through stdin' | cat - file. ...

  9. iOS使用shell脚本注入混淆内容

    2019独角兽企业重金招聘Python工程师标准>>> 背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,其中有一种解决方案是在壳版本中注入 ...

最新文章

  1. MobileNet Unet
  2. UA OPTI501 电磁波 求解麦克斯韦方程组的Fourier方法3 Coulomb Gauge下讨论Maxwell方程
  3. 以太坊智能合约 Hexagon 存在溢出漏洞
  4. MSSQL字符串处理-清除指定不连续或连续的字符
  5. SDNU 1176.Jam的计数法(思维)
  6. Web服务器面临的五种应用层DOS威胁
  7. 微电台│Get产品信息管理指南,和客户谈一场全渠道恋爱!
  8. 信息学奥赛一本通 1985:【19CSPJ普及组】加工零件 | 洛谷 P5663 [CSP-J2019] 加工零件
  9. numpy的科学计算(亲测)
  10. 10亿级流数据交互查询,为什么抛弃MySQL选择VoltDB?
  11. 如何用纯 CSS 创作一个记事本翻页动画
  12. Ext.Ajax.request 与FormPanel.form.submit
  13. Ubuntu 20.04安装搜狗输入法(图文详解)
  14. FPGA开发板公司及产品系列
  15. itune音乐排行榜:法国周榜TOP100(2022年7月16日)
  16. 图形处理之网格平滑vtkSmoothPolyDataFilter
  17. mountain乐谱-蒲公英的约定
  18. Mac安装VirtualBox虚拟机-大数据学习准备
  19. CentOS 8.2安装Raid卡驱动
  20. 动漫人物人体结构难学么?衣物怎么画?

热门文章

  1. 宁波银行金融科技面试
  2. NumericUtil
  3. mounted钩子函数_vue中created钩子函数与mounted钩子函数的使用区别
  4. 记一次物理服务器磁盘故障修复过程
  5. 十字路口倒计时交通灯
  6. 工作流网(workflow net)
  7. C# 获取时间段的方法
  8. php 自动关键词,php实现自动获取生成关键词功能
  9. 【华为OD机试真题 python】 比赛【2022 Q4 | 100分】
  10. 网络基础之传输层协议介绍(“三次握手”和“四次挥手”)