递归函数演绎示例

递归函数

  • 脚本要求
  • 方法一
      • 脚本内容
      • 执行效果
  • 方法二
      • 脚本内容
      • 执行结果

脚本要求

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

方法一

脚本内容

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

执行效果

递归函数演绎示例_第1张图片

方法二

脚本内容

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

for f in $PATH
 do
 echo "目录:$f"
 list "$f" " "
 done

执行结果

递归函数演绎示例_第2张图片

你可能感兴趣的:(Linux网络,shell,linux,centos)