仅在bash脚本中检查可执行文件时计算文件夹和可执行文件?

时间:2013-02-12 14:30:11

标签: linux bash shell scripting

我的代码是:

function CountEx()
{

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

我正在使用它像这样:

 yaser.sh -x ./folder

输出为The number of files + folders

2 个答案:

答案 0 :(得分:3)

文件夹上的可执行位具有特殊含义,通常设置。尝试使用可执行位来过滤常规文件:

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

当然,find可以简化整个练习:

find $folder -maxdepth 1 -type f -executable -ls | wc -l

答案 1 :(得分:0)

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

 file $file | grep elf > /dev/null
 if [ $? -eq. 0 ] ; then
     count = `expr $count +  1`
 fi