判断文件是否是影藏文件:shell 第二处
判断目录是否是影藏目录:shell 第一处
#!/usr/bin/env bash
shopt -s dotglob
directoryCounter=0
fileCounter=0
hiddenDirectoryCounter=0
hiddenFileCounter=0
listAllFiles()
{
local dir=$1
local file
local bn="$(basename -- "$dir")"
for file in "$dir"/*; do
## Use ..* so you don't count the current dir (.) as hidden
## 第一处
if [[ $bn == .?* ]]; then
let hiddenDirectoryCounter+=1
listAllFiles "$file"
## Match only the filename, not the whole path
## 第二处
elif [[ -f $file && "$(basename "$file")" == .* ]]; then
let hiddenFileCounter+=1
elif [[ -f "$file" ]];then
let fileCounter+=1
elif [[ -d "$file" ]]; then
listAllFiles "$file"
let directoryCounter+=1
fi
done
}
listAllFiles $1
echo File found: $fileCounter
echo Directories found: $directoryCounter
echo Hidden directories found: $hiddenDirectoryCounter
echo Hidden files found: $hiddenFileCounter