set -e
# Sai imediatamente se um comando sair com um status diferente de zero.
A opção -d no teste if é verdadeira se o caminho é um diretório. ! nega o teste.
if ! [ -d /var/cache/man ] # true if /var/cache/man is not a directory
if [ -x /usr/bin/mandb ] # true if /usr/bin/mandb is executable
Em relação a chown man:root /var/cache/man || true
- o código à direita do || é acionado se o comando chown anterior retornar um status de saída diferente de zero. Se o comando chown falhar, true será avaliado. Isso evita que o script falhe - caso contrário, o status de erro diferente de zero do chown sairia do script devido ao set -e.