SHELL脚本 遍历文件夹下所有文件以及子文件夹
dir 要设置为局部变量 如果设置为全局变量 在func递归时传入的参数 会改变 dir的值,将导致之后的文件目录错误(为更改后的dir值)
当前目录情况:
执行完shell后:
附上代码:文章来源:https://www.toymoban.com/news/detail-524882.html
#!/bin/bash
func (){
local dir="$1" #local局部变量标识符
for f in `ls $1`
do
if [ -f "$dir/$f" ] # $dir/$f 保障路径正确
then
echo "$dir/$f 是文件"
elif [ -d "$dir/$f" ]
then
echo "$dir/$f是目录"
func "$dir/$f" #如果是目录再次进行遍历
else
echo "$dir/$f未知"
fi
done
}
func /root/test # func 的第一个参数也就是$1
如有不对,感谢指出。文章来源地址https://www.toymoban.com/news/detail-524882.html
到了这里,关于SHELL脚本 遍历文件夹下所有文件以及子文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!