A maneira mais segura de fazer isso é deixar find
executar chmod
diretamente e também ter mais cuidado na seleção dos arquivos:
find scripts -type f -name '*.sh' -exec chmod u+x {} +
Isso localizará todos os arquivos regulares dentro ou abaixo do diretório scripts
que tem nomes que terminam com .sh
e executará chmod u+x
no maior número possível desses itens de uma só vez. Ele lidará com nomes de arquivos possivelmente estranhos sem problemas.
Para alterar as permissões apenas nos arquivos que precisam dela:
find scripts -type f -name '*.sh' ! -perm -u+x -exec chmod u+x {} +