我的代码是:
function CountEx()
{
echo "The number of executable files in this dir is: $count"
}
while
我正在使用它像这样:
yaser.sh -x ./folder
输出为The number of files + folders
。
答案 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