方法一:for循环
#!/bin/bash
IFS=$IFS':'
IFS=':'
for folder in $PATH
do
echo "$folder:"
for f in $folder/*
do
if [ -x $f ];then
echo " $f"
fi
done
done
方法二:递归函数(1)
#!/bin/bash
file_list () {
for f in $1/*
do
if [ -d $f ];then
echo "$2$f"
file_list "$f" " $2"
elif [ -x $f ];then
echo "$2$f"
fi
done
}
IFS=$IFS':'
for folder in $PATH
do
echo "$folder:"
file_list "$folder" " "
done
方法二:递归函数(2)
#!/bin/bash
file_list () {
for f in `ls $1`
do
if [ -d "$1/$f" ];then
echo "$2$f"
file_list "$1/$f" " $2"
elif [ -x "$1/$f" ];then
echo "$2$f"
fi
done
}
IFS=$IFS':'
for folder in $PATH
do
echo "$folder:"
file_list "$folder" " "
done