Olá, Cleverson.
Tudo bem?
Na opção A, o código verifica a inexistência de um arquivo (if [ ! -e "$arquivo" ]
). Se o arquivo não existir, ele imprime a mensagem "Arquivo não encontrado" e encerra o script com exit 1
. Isso significa que, no momento em que um arquivo não for encontrado, o script para de executar, indicando um erro.
Por outro lado, na opção D, o código verifica a existência de um arquivo (if [ -e "$arquivo" ]
). Se o arquivo existir, ele simplesmente continua para o próximo arquivo com o comando continue
. No entanto, se o arquivo não existir, ele imprime a mensagem "Arquivo não encontrado" e encerra o script com exit 1
.
A diferença crucial aqui é que, na opção D, o script irá verificar todos os arquivos mesmo depois de encontrar um arquivo inexistente, pois o comando continue
permite que o loop continue mesmo após encontrar um arquivo inexistente. Isso pode não ser o comportamento desejado em um script de compactação de arquivos, onde você provavelmente gostaria de parar a execução assim que um arquivo inexistente for encontrado, para evitar a compactação de um conjunto parcial de arquivos.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.