如何理解这个 find with while 循环在 Bash 中的工作原理
How to understand how this find with while loop works in Bash
我怎样才能更好地理解这个语法?
find ~/Documents/project/updates -type d -name "Branch*[0-9]" -maxdepth 1 -mtime -2 -print |\
while read path; do
dir_name=$(basename $path)
function_call $dir_name
done
生成目录列表find
~/Documents/project/updates
在此路径下寻找目录
-type d
只查找“目录”(而不是文件、索引节点或其他文件类型)
-name "Branch*[0-9]"
仅查找名称与此通配符匹配的目录
maxdepth 1
看起来不低于一层深度
-mtime -2
修改时间-2天
现在我们有了一个列表,对于该列表中的每个项目,
dir_name=$(basename $path)
将“dir_name”设置为目录basename
function_call $dir_name
用“$dir_name”调用“function_call”
强烈建议:
暂时将 set -xv
添加到 shell 脚本的顶部并观察结果:)
我怎样才能更好地理解这个语法?
find ~/Documents/project/updates -type d -name "Branch*[0-9]" -maxdepth 1 -mtime -2 -print |\
while read path; do
dir_name=$(basename $path)
function_call $dir_name
done
生成目录列表find
~/Documents/project/updates
在此路径下寻找目录-type d
只查找“目录”(而不是文件、索引节点或其他文件类型)-name "Branch*[0-9]"
仅查找名称与此通配符匹配的目录maxdepth 1
看起来不低于一层深度-mtime -2
修改时间-2天
现在我们有了一个列表,对于该列表中的每个项目,
dir_name=$(basename $path)
将“dir_name”设置为目录basenamefunction_call $dir_name
用“$dir_name”调用“function_call”
强烈建议:
暂时将 set -xv
添加到 shell 脚本的顶部并观察结果:)