私のコードは次のとおりです。
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 ファイルのみをチェックする場合は、elf に対して file コマンドと grep を使用します。
file $file | grep elf > /dev/null
if [ $? -eq. 0 ] ; then
count = `expr $count + 1`
fi