Como verificar se o arquivo ou diretório existe no Bash

Ao trabalhar com Bash e script de shell, pode ser necessário verificar se um diretório ou um arquivo existe ou não em seu sistema de arquivos.

Com base nesta condição, você pode sair do script ou exibir uma mensagem de aviso para o usuário final, por exemplo.

Para verificar se um arquivo ou um diretório existe com o Bash, você usará “testes Bash”.

Neste tutorial, você aprenderá como verificar se um arquivo ou diretório existe em um script Bash.

Índice

Verificar se o arquivo existe

Para verificar se existe um arquivo no Bash , você deve usar a opção “-f” (para arquivo) e especificar o arquivo que deseja verificar.

Por exemplo, digamos que você deseja verificar se o arquivo “/ etc / passwd” existe ou não em seu sistema de arquivos.

Em um script, você escreveria o seguinte se declaração.

Verifique a existência do arquivo usando formulários mais curtos

Em alguns casos, você pode estar interessado em verificar se um arquivo existe ou não diretamente em seu shell Bash.

Para verificar se existe um arquivo no Bash usando formatos mais curtos, especifique a opção “-f” entre colchetes e anexe o comando que deseja executar se tiver êxito.

Usando o exemplo usado antes, se você quiser verificar se o arquivo “/ etc / passwd” existe usando formulários mais curtos, você escreve o seguinte comando

Então, como esse comando funciona?

Formulários mais curtos estão intimamente relacionados aos status de saída.

Quando você executa um comando no Bash, ele sempre sai com um status de erro: 0 para erros e números maiores que 0 para erros (1, 2 .. 6 e assim por diante)

Neste caso, a sintaxe “& &” verificará se o status de saída do comando à esquerda é igual a zero: se for o caso, executará o comando da direita, caso contrário não o executará.

Protip: você pode use “echo $ {?}” para ver o status de saída da última execução do comando

Verificando vários arquivos

Em alguns casos, você pode querer verificar se existem vários arquivos em seu sistema de arquivos ou não.

Para verificar se existem vários arquivos no Bash, use a sinalização “-f” e especifique os arquivos a serem verificados separados pelo operador “& &”.

Verificar se o arquivo não existe

Por outro lado, você pode querer verificar se um arquivo não existe em seu sistema de arquivos.

Para verificar se um arquivo não existe usando o Bash, você deve usar o “!” símbolo seguido pela opção “-f” e o arquivo que deseja verificar.

Da mesma forma, você pode usar formulários mais curtos se quiser verificar rapidamente se um arquivo não existir diretamente em seu terminal.

Observe que também é possível verificar se um arquivo não existe usando o “||” operador.

O “||” operador irá executar o comando à direita se e somente se o comando à esquerda falhar (ou seja, sai com um status maior que zero).

Para testar se um arquivo não existe usando o “||” operador, simplesmente verifique se ele existe usando o sinalizador “-f” e especifique o comando a ser executado se falhar.

Verifique se existe diretório

Para verificar se existe um diretório no Bash, você deve usar a opção “-d” e especificar o nome do diretório a ser verificado.

Como exemplo, digamos que você queira verificar com o Bash se o diretório / etc existe em seu sistema.

Para verificar sua existência, você escreveria o seguinte script Bash

Ao executar este script, você obteria a seguinte saída

Verifique a existência do diretório usando formulários mais curtos

Em alguns casos, você pode estar interessado em verificar se um diretório existe ou não diretamente em seu shell Bash.

Para verificar se existe um diretório no Bash usando o mais curto formulários, especifique a opção “-d” entre colchetes e anexe o comando que deseja executar se for bem-sucedido.

Digamos que você queira verificar se o diretório” / etc “existe, por exemplo.

Usando a sintaxe mais curta, você escreveria o seguinte comando.

Criando um script Bash completo

Se você verificar várias vezes por dia se um arquivo (ou vários) existe ou não em seu sistema de arquivos, pode ser útil ter um script que pode automatizar essa tarefa.

Nesta seção, você vai criar um script Bash que pode pegar vários nomes de arquivo e retornar se eles existem ou não.

Caso contrário, uma mensagem de notificação simples será exibida na saída padrão.

Crie um novo script Bash e torne-o executável usando chmod.

Aqui está o conteúdo do script a ser usado para verificar dinamicamente se os arquivos existem.

Salve o seu script e adicione a pasta “bin” que você acabou de criar à sua variável de ambiente PATH.

Agora que seu script pode ser acessado de qualquer lugar do sistema, você pode chamar seu script e começar a verificar se os arquivos existem ou não.

Incrível!

Você criou um costume para verificar se os arquivos existem ou não no seu sistema de arquivos.

Conclusão

Neste tutorial, você aprendeu como pode verificar se um arquivo existe ou não usando testes Bash e sintaxe curta do Bash.

Da mesma forma, você aprendeu como é possível verificar se um diretório existe.

Finalmente, você escreveu um script Bash completo que aceita argumentos dinâmicos para verificar se existem vários arquivos ou não.

Se você está interessado em programação Bash ou em administração de sistemas Linux, temos uma seção completa dedicada a isso no site, então certifique-se de conferir!

bash

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *