SHELL脚本 遍历文件夹下所有文件以及子文件夹
dir 要设置为局部变量 如果设置为全局变量 在func递归时传入的参数 会改变 dir的值,将导致之后的文件目录错误(为更改后的dir值)
附上代码:
#!/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://blog.csdn.net/weixin_42141616/article/details/128514081
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_35524.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。