Exemplo 01
Temos que adicionar o suporte de bash nele como '#!/Bin/Bash '. Depois disso, inicializamos um 'ARQUIVO' variável com o caminho para o próprio arquivo 'arquivo.sh ' eu.e., '/home/linuxhint/arquivo.sh '. Para verificar se o arquivo existe ou não, estaremos usando o 'Se então' Declaração levando suas condições entre colchetes quadrados neste código Bash. Para verificar se o arquivo existe, precisamos usar o '-f' opção seguida pela variável de dupla citação "ARQUIVO" com o personagem do dólar "$". Isso deve verificar se o caminho fornecido para o arquivo contém um arquivo com o nome 'arquivo.sh ' ou não.
A condição termina aqui e o 'então' Parte da declaração começa. Se o arquivo existir, ele exibirá a mensagem de que o arquivo 'arquivo.sh ' existe no caminho dado usando o 'eco' declaração. O 'se' A declaração termina aqui com a sintaxe final 'fi'.
#!/BIN/BASH
Arquivo =/home/linuxhint/arquivo.sh
se [-f "$ file"]; então
eco "$ arquivo existe!"
fi
Agora, salve seu arquivo de código Bash e execute o arquivo usando a linha de comando abaixo:
Arquivo Bash.sh
Aqui está a saída ao executar o comando:
linuxhint@u22: ~ arquivo Bash.sh
/home/linuxhint/arquivo.SH existe!
Se ajustarmos o script e alteramos o 'ARQUIVO' Para um arquivo que não existe e execute o script, não obtemos saída do script.
Exemplo 02
Neste exemplo, adicionaremos uma declaração else à instrução IF no exemplo anterior. Dessa forma, se o arquivo não existir, obteremos uma mensagem de erro apropriada imprimida na saída ou tela padrão. Aqui está o novo código:
#!/BIN/BASH
Arquivo =/home/linuxhint/arquivo.sh
se [-f "$ file"]; então
eco "$ arquivo existe!"
outro
eco "$ arquivo não existe!"
fi
Podemos executar os scripts da seguinte forma:
$ BASH FILE.shTemos a mesma saída de antes:
linuxhint@u22: ~ arquivo Bash.sh
/home/linuxhint/arquivo.SH existe!
Mas agora, se invadirmos o nome do arquivo para ser um arquivo que não existir, receberemos uma mensagem de erro adequada:
linuxhint@u22: ~ arquivo Bash.sh
/home/linuxhint/nofile.SH não existe!
Exemplo 03
Digamos, você quer usar o 'não' personagem para que você esteja verificando primeiro se o arquivo não existir. Por exemplo, se o arquivo não existir, você poderá imprimir uma mensagem de erro, mas talvez você nem precise de um else nesse contexto, pois só se importa se o arquivo não existir, caso contrário, o script poderá continuar como normal sem sair de um erro.
Aqui está a sintaxe para usar o '!' personagem para reverter o cheque para verificar Se o arquivo não existir:
#!/BIN/BASH
Arquivo =/home/linuxhint/nofile.sh
se [ ! -f "$ arquivo"]; então
eco "$ arquivo não existe!"
outro
eco "$ arquivo existe!"
fi
Primeiro executaremos o script com o nome do arquivo quebrado:
$ BASH FILE.shA saída quando desencadeia a condição de erro está aqui abaixo:
linuxhint@u22: ~ arquivo Bash.shAgora podemos consertar o nome do arquivo para ser o arquivo que existe:
#!/BIN/BASH
Arquivo =/home/linuxhint/arquivo.sh
se [ ! -f "$ arquivo"]; então
eco "$ arquivo não existe!"
outro
eco "$ arquivo existe!"
fi
Aqui está a saída com o arquivo que existe:
linuxhint@u22: ~ arquivo Bash.sh
/home/linuxhint/arquivo.SH existe!
linuxhint@u22: ~ $
Exemplo 04
Neste exemplo, mostraremos uma sintaxe rápida do shell sem escrever um script e apresentar os operadores lógicos para imprimir sucesso ou erros. Aqui está o script que você pode executar no terminal:
linuxhint@u22: ~ $ [-f arquivo.SH] && eco "Arquivo existe" || eco "o arquivo não existe"
o arquivo existe
linuxhint@u22: ~ $
No código acima, escrevemos o código diretamente no terminal interativo. Usamos um teste condicional para verificar se o arquivo existir. Ele retornará 0 para o sucesso. Lógicos ou e lógicos e operadores são usados para indicar qual mensagem deve ser impressa, sucesso ou falha.
Exemplo 05
Você também pode utilizar uma abordagem semelhante, como mostrado neste artigo, para verificar a existência de um diretório usando o '-d' opção em sua condição em vez de '-f'. Digamos que temos um diretório 'teste' em nossa pasta doméstico e nós usamos o mesmo script com o '-d' opção para verificar e exibir a mensagem da string de acordo com a saída da condição.
Aqui está o código com a verificação do diretório 'Dir.sh ':
#!/BIN/BASH
Arquivo =/home/linuxhint/teste
se [-d "$ file"]; então
ECHO "Diretório $ File existe!"
outro
eco "o arquivo de diretório $ não existe!"
fi
Para executar o código Execute:
$ BASH DIR.sh
linuxhint@u22: ~ $ Bash Dir.sh
Diretório/Home/Linuxhint/Teste Existe!
E o código de teste e saída negativos:
#!/BIN/BASH
Arquivo =/home/linuxhint/teste
se [ ! -d "$ arquivo"]; então
eco "o arquivo de diretório $ não existe!"
outro
ECHO "Diretório $ File existe!"
fi
linuxhint@u22: ~ $ Bash Dir.sh
diretório/home/linuxhint/teste não existe!
Conclusão
É tudo sobre o uso de scripts de bash para verificar se existem arquivos e diretórios. Além disso, usamos o código direto no console Bash utilizando operações de teste e operadores lógicos.