#! /bin/sh -
n=0
for file do
if [ -r "$file" ]; then
printf '"%s" is readable\n' "$file"
n=$((n + 1))
else
printf '"%s" is not readable\n' "$file"
fi
done
echo "$n out of $# files were readable"
[ -r file ]
testa se o file
é legível pelo processo invocando o comando [
, portanto, por você, o usuário que está executando esse script, geralmente usando a chamada do sistema access()
.
Ele não diz nada sobre a possibilidade de outros usuários conseguirem lê-lo. Não tenta ler também. Por exemplo, não será capaz de detectar arquivos que não possam ser lidos porque o armazenamento subjacente está com defeito.