Como verificar se um arquivo não existe no Bash
- 2273
- 164
- Spencer Emard
Bash, ou The Bourne Again Shell, é um shell UNIX popular usado para scripts e automatizando tarefas no Linux, MacOS e outros sistemas do tipo Unix. Uma tarefa comum no script de bash é verificar se um arquivo não existe. Isso pode ser útil para tarefas como criar novos arquivos apenas se eles ainda não existirem, pulando os arquivos existentes durante uma transferência de arquivos ou desencadeando ações específicas com base na presença do arquivo. Neste artigo, exploraremos maneiras diferentes de verificar se um arquivo não existe no Bash.
Método 1: Usando o 'teste
Comando
O 'teste' O comando em bash é um utilitário simples e interno que avalia expressões condicionais. Pode ser usado para verificar várias condições, incluindo a existência de um arquivo. Para verificar se um arquivo não existe, use a seguinte sintaxe:
Copie o código se teste ! -e file_path, então # execute ações se o arquivo não existir FI12345 | Copie o teste CodeIF ! -e file_paththen # execute ações se o arquivo não existirfi |
Neste exemplo, o '-e' bandeira verifica a existência do arquivo, enquanto o '!' nega o resultado. Se o arquivo não existir, os comandos dentro do 'se' O bloco será executado.
Método 2: Usando suportes quadrados
O 'teste' O comando também pode ser representado usando suportes quadrados ('[' e ']' '), que é mais comum em scripts de bash. Para verificar se um arquivo não existe usando colchetes quadrados, use a seguinte sintaxe:
se [ ! -e file_path] então # execute ações se o arquivo não existir FI1234 | se [ ! -e file_path] então # execute ações se o arquivo não existirfi |
Isso é funcionalmente equivalente ao 'teste' Exemplo de comando acima.
Método 3: Usando suportes quadrados duplos
Bash também suporta suportes quadrados duplos ('[[' e ']]' ') para expressões condicionais. Esta é uma sintaxe mais moderna e preferida para muitos usuários, pois fornece recursos adicionais e é mais perdoador com espaçamento. Para verificar se um arquivo não existe usando colchetes duplos, use a seguinte sintaxe:
se [[ ! -e file_path]] então # execute ações se o arquivo não existir FI1234 | se [[ ! -e file_path]] então # execute ações se o arquivo não existirfi |
Isso é funcionalmente equivalente aos exemplos anteriores, mas utiliza a sintaxe de suporte quadrado duplo mais moderno.
Método 4: Usando o 'se
'Comando com o'-f
' bandeira
Em alguns casos, convém verificar especificamente a inexistência de um arquivo regular (em oposição a um diretório ou outros tipos de arquivo). Para fazer isso, use o '-f' bandeira em vez do '-e' bandeira. Isso só retornará a verdade se o arquivo não existir ou não for um arquivo regular:
se [ ! -f file_path] então # execute ações se o arquivo não existir ou não for um arquivo regular FI1234 | se [ ! -f file_path] então # execute ações se o arquivo não existir ou não for um filefi regular |
Conclusão
Neste artigo, discutimos quatro métodos diferentes para verificar se um arquivo não existir no Bash. Esses métodos podem ser usados para várias tarefas, como criar novos arquivos apenas se ainda não existirem ou desencadear ações específicas com base na presença do arquivo. Dependendo da sua preferência e requisitos, você pode escolher qualquer um dos métodos descritos acima para verificar a inexistência de um arquivo em seus scripts bash.
- « VMSTAT - Monitorando a memória e processos no Linux com exemplos
- Configurando Redis para armazenamento de sessão PHP no Linux »