我的代码是:
function CountEx()
{
echo "The number of executable files in this dir is: $count"
}
while
我正在使用它像这样:
yaser.sh -x ./folder
输出是The number of files + folders
。
文件夹上的可执行位具有特殊含义,并且最常设置。尝试过滤具有可执行位的常规文件:
if [[ -f "$file" -a -x "$file" ]];
当然,整个练习可以通过以下方式简化find
:
find $folder -maxdepth 1 -type f -executable -ls | wc -l
可能是你目录下的所有文件都设置了可执行权限。如果您只想检查 elf 文件,请使用 file 命令和 grep 查找 elf。
file $file | grep elf > /dev/null
if [ $? -eq. 0 ] ; then
count = `expr $count + 1`
fi