-1

我的代码是:

function CountEx()
{

    echo "The number of executable files in this dir is: $count"
}
while 

我正在使用它像这样:

 yaser.sh -x ./folder

输出是The number of files + folders

4

2 回答 2

3

文件夹上的可执行位具有特殊含义,并且最常设置。尝试过滤具有可执行位的常规文件:

if [[ -f "$file" -a -x "$file" ]];

当然,整个练习可以通过以下方式简化find

find $folder -maxdepth 1 -type f -executable -ls | wc -l
于 2013-02-12T14:34:01.937 回答
0

可能是你目录下的所有文件都设置了可执行权限。如果您只想检查 elf 文件,请使用 file 命令和 grep 查找 elf。

 file $file | grep elf > /dev/null
 if [ $? -eq. 0 ] ; then
     count = `expr $count +  1`
 fi
于 2013-02-12T14:38:14.430 回答