您的位置:首页 > 运维架构 > Shell

随笔1:shell递归遍历文件夹

2016-05-17 20:10 393 查看
最近工作需要,写了一些shell脚本用来做服务器一键打包更新,

通过for递归遍历文件夹时文件名中含有空格,它会当成两个文件

解决方式:修改分隔IFS

#! /bin/bash

function dfs
{
old_IFS=${IFS}
IFS=$(echo -e '\n')
for file in `ls -A "$1"`
do
if [ -d $1/${file} ]; then
dfs "$1/${file}"
else
echo "$1/${file}"
fi
done
IFS=${old_IFS}
}


作为良好的习惯,改过的东西用完后要改回去

这是我自己写的一个dfs递归遍历,效果和-r差不多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: