Eu tenho outra abordagem, caso você realmente queira apenas fazer algo com arquivos executáveis - e não necessariamente forçar a busca a se filtrar:
for i in 'find -type f'; do [ -x $i ] && echo "$i is executable"; done
Eu prefiro isso porque não depende de -executable
, que é específico da plataforma; e não depende de -perm
, que é um pouco arcano, um pouco específico da plataforma e, como descrito acima, requer que o arquivo seja executável para todos (não apenas para você).
O -type f
é importante porque nos diretórios * nix tem que ser executável para ser percorrido, e quanto mais a consulta estiver no comando find
, mais memória eficiente seu comando será.
De qualquer forma, apenas oferecendo uma outra abordagem, já que * nix é a terra de um bilhão de abordagens.