-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 ファイルのみをチェックする場合は、elf に対して file コマンドと grep を使用します。

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