【发布时间】:2015-07-14 14:40:55
【问题描述】:
我正在编写一个 shell 脚本,我需要在其中循环遍历目录,然后遍历其中的文件。所以我写了这个函数:
loopdirfiles() {
#loop over dirs
for dir in "${PATH}"/*
do
for file in "${dir}"/*
do
echo $file
done
done
}
问题在于它会在空目录上回显 *path/to/dir/** 之类的内容。
有没有办法使用这种方法并忽略那些目录?
【问题讨论】:
-
如果您在脚本中使用
PATH作为变量不要。您将中断正在运行的外部命令,因为PATH用于此目的。通常应避免使用 ALL_CAPS 变量(脚本全局变量除外),因为它们是为 shell 的/等“保留”的。使用。