alexabolada
(usa Debian)
Enviado em 13/09/2023 - 16:48h
O comando `find` retorna código de saída 0 se todos os arquivos foram processados com sucesso, código maior que 0 se ocorrerem erros. É importante notar que 'arquivo não encontrado' não é considerado um erro pelo `find`. Portanto, se o arquivo que você está procurando não existir, o `find` ainda retornará 0.
Fazemos a verificação se o arquivo já existe no sistema usando o mesmo comando `find` mas ao invés de esperar que ele retorne um código de erro, verificamos se a saída da busca é vazia.
Se a saída do `find` não for vazia, significa que a fonte já existe no sistema e você pode pular a etapa de instalação. Caso contrário, você deve mover para a instalação da fonte.
Veja a reformulação do script para se adequar a isso:
[code]
# Busca pela fonte
fonts=$(find "$HOME/.fonts" -iname "Anonymous Pro Bold.woff2")
# Verifica se a saída do find é vazia
if [ -z "$fonts" ] ; then
#Instala a fonte
cp "Anonymous Pro Bold.woff2" "$HOME/.fonts" | zenity --progress --title "$title_ok - $fonte" --text "$copying_fonts" --auto-close