O foco deste guia é discutir a existência de um arquivo em seu sistema por meio de script bash:
Como verificar a existência do arquivo usando o script bash:
1) Ao inserir o nome do arquivo no terminal:
Em primeiro lugar, precisamos criar um arquivo de script bash, use o comando abaixo mencionado:
$ touch testfile.shO nome do arquivo que criei é “testfile.sh ”, o“.A extensão sh ”indica o arquivo de script de shell:
Abra o “testfile.sh ”em qualquer editor de texto. Em seguida, escreva o script, salve-o pressionando “salvar”.
Uma maneira é encontrar um arquivo pedindo um nome de arquivo ao usuário no terminal.
Usar "-f”Para verificar a existência do arquivo.
Escreva o script abaixo:
#!/ bin / bashecho "Digite seu nome de arquivo"
leia newfile1
if [-f "$ newfile1"]
então
echo "Arquivo encontrado"
senão
echo "Arquivo não encontrado"
fi
Volte para o terminal e execute o arquivo para imprimir a saída:
./nome do arquivo.shA mensagem de permissão negada seria exibida no terminal.
Torne-o executável executando o comando mencionado abaixo:
$ chmod + x testfile.sh
Digite o nome do arquivo e ele imprimirá o resultado:
2) Ao inserir o nome do arquivo ao escrever o script:
Outra maneira de encontrar um arquivo fornecendo o nome do arquivo ao escrever o script. Temos três maneiras de verificar a disponibilidade do arquivo. O primeiro está usando o comando “test”, o segundo está usando “if” com uma expressão entre colchetes, e o terceiro também está com “if”, mas os colchetes duplos conforme indicado abaixo:
- “Teste EXPRESSION.”
- “Se [EXPRESSÃO]”
- “Se [[EXPRESSÃO]]”
Vamos entender com exemplos:
1) teste [Expressão]
Copie o script fornecido e cole-o no editor, salve-o:
nome do arquivo = arquivo1
if test -f "$ filename";
então
echo "$ arquivo encontrado."
senão
echo "$ arquivo não foi encontrado"
fi
Resultado:
Como esse arquivo não existe em meu diretório, o código exibe a mensagem "Arquivo não encontrado".
2) se [Expressão]
Copie o seguinte script para verificar se o arquivo existe ou não:
#!/ bin / bashfilename = myfile.TXT
if [-f "$ filename"];
então
echo "$ filename foi encontrado."
senão
echo "nome do arquivo não foi encontrado"
fi
Resultado:
3) se [[Expressão]]
Copie o script escrito abaixo e cole-o no terminal:
#!/ bin / bashfilename = testfile
if [[-f "$ filename"]];
então
echo "$ filename foi encontrado."
senão
echo "$ filename não foi encontrado"
fi
Resultado:
Para verificar o diretório:
3) Ao inserir o nome do diretório ao escrever um script
Use o "-d”Sinalizador para verificar a existência de um diretório.
No script mencionado abaixo, “dir11” é a variável na qual você armazena o arquivo que está encontrando; neste exemplo, quero verificar se o nome do diretório “testDir” existe ou não.
#!/ bin / bashdir11 = testDir
if [-d "$ dir11"]
então
echo "Diretório encontrado"
senão
echo "Diretório não foi encontrado"
fi
Resultado:
2) Ao inserir o nome do arquivo no terminal:
Quando você executa o comando no terminal para verificar se o diretório existe ou não, é necessário inserir o nome do diretório que está procurando:
echo "digite o nome do seu diretório."
ler Dir1
if [-d "Dir1"]
então
echo "diretório foi encontrado"
senão
echo "diretório não encontrado"
fi
Resultado:
Verificar o arquivo sem usar a declaração “if”:
O comando “test” pode ser executado sem a declaração “if”. Ele só exibirá a saída se o arquivo existir; caso contrário, não haveria saída:
Escreva o script:
- test -f myfile.txt && echo "arquivo foi encontrado"
- [-f meuarquivo.txt] && echo "$ arquivo foi encontrado."
- [[-f meuarquivo.txt]] && echo "$ arquivo foi encontrado."
Resultado:
Verificar o diretório sem usar a instrução “if”:
Use as instruções mencionadas abaixo para verificar se um diretório existe ou não:
- [[-d testDir]] && echo "o diretório existe"
- 2) [-d testDir] && echo "o diretório existe"
Resultado:
Verificando vários arquivos / diretórios:
1) Verificar vários arquivos com declarações "if":
Use o sinalizador “-a” para verificar a existência de vários arquivos em vez de usar instruções aninhadas “if / else”:
if [-f new_file.txt -a -f newfile.TXT ]; então
echo "Ambos os arquivos existem."
fi
Outra maneira é:
#!/ bin / bashif [[-f new_file.txt && -f newfile.TXT ]]; então
echo "Ambos os arquivos existem."
fi
Resultado:
2) Verificar vários arquivos sem usar a declaração “if”:
Use a seguinte declaração para verificar vários arquivos simultaneamente 1sem usar “if”:
- [[-f new_file.txt && -f newfile.txt]] && echo “Ambos os arquivos são encerrados.”
- [[-f new_file.txt && -f newfile.txt]] && echo “Ambos os arquivos são encerrados.”
Resultado:
Conclusão:
Este artigo mostrou como usar o script bash para verificar um arquivo ou diretório. Usamos opções diferentes para verificar a disponibilidade de um arquivo. Em primeiro lugar, usamos o comando “test” com diferentes sinalizadores. Então, aprendemos o uso de "if", "if-else" aninhado e sem as instruções "if" para verificar o arquivo ou diretório. Também examinamos como verificar vários arquivos ou diretórios.