Como verificar a existência do arquivo usando scripts de bash:
1) Inserindo o nome do arquivo no terminal:
Em primeiro lugar, precisamos criar um arquivo de script de bash, usar o comando abaixo mencionado:
$ touch testfile.sh
O nome do arquivo que eu criei é “TestFile.sh ", o".Extensão SH ”indica o arquivo de script do shell:
Abra o “TestFile.sh ”em qualquer editor de texto. Em seguida, escreva o script, salve -o pressionando "Salvar".
Uma maneira é encontrar um arquivo solicitando um nome de arquivo do usuário no terminal.
Usar "-f”Para verificar a existência do arquivo.
Escreva o script abaixo:
#!/BIN/BASH
eco "Digite seu nome de arquivo"
Leia NewFile1
Se [-f "$ newfile1"]
então
eco "o arquivo é encontrado"
outro
eco "o arquivo não é encontrado"
fi
Volte ao terminal e execute o arquivo para imprimir a saída:
./nome do arquivo.sh
A permissão negado a mensagem seria exibida no terminal.
Torne-o executando executando o comando abaixo mencionado:
$ chmod +x testfile.sh
Digite o nome do arquivo e ele imprimirá a saída:
2) Ao inserir o nome do arquivo ao escrever o script:
Outra maneira de encontrar um arquivo dando o nome do arquivo enquanto escrevia o script. Temos três maneiras de verificar a disponibilidade do arquivo. O primeiro é usar o comando "teste", o segundo está usando "se" com uma expressão entre colchetes, e o terceiro também está com "se", mas suportes quadrados duplos, conforme indicado abaixo:
Vamos entender com exemplos:
1) Teste [Expressão]
Copie o script fornecido e cole -o no editor, salve -o:
#!/BIN/BASH
nome do arquivo = file1
se test -f "$ filename";
então
eco "$ arquivo encontrou."
outro
eco "o arquivo $ não foi encontrado"
fi
Saída:
Como não existe esse arquivo no meu diretório, o código exibe a mensagem "O arquivo não é encontrado".
2) Se [expressão]
Copie o script a seguir para verificar o arquivo se existe ou não:
#!/BIN/BASH
nome do arquivo = myFile.TXT
se [-f "$ filename"];
então
Echo "$ FILENAME ENCONTRADO."
outro
eco "o nome do arquivo não foi encontrado"
fi
Saída:
3) Se [[expressão]]
Copie o script abaixo escrito e cole-o no terminal:
#!/BIN/BASH
FILENAME = TESTFILE
if [[-f "$ filename"]];
então
Echo "$ FILENAME ENCONTRADO."
outro
eco "$ filename não foi encontrado"
fi
Saída:
Para verificar o diretório:
3) Ao inserir o nome do diretório enquanto escrevia um script
Use o "-d“Flag para verificar a existência de um diretório.
No script abaixo mencionado, "Dir11" é a variável na qual você armazena o arquivo que está encontrando; Neste exemplo, quero verificar o nome do diretório "testdir".
#!/BIN/BASH
dir11 = testdir
Se [-d "$ dir11"]
então
eco "o diretório encontrou"
outro
eco "o diretório não foi encontrado"
fi
Saída:
2) inserindo o nome do arquivo no terminal:
Quando você executa o comando no terminal para verificar se o diretório existe ou não, você deve inserir o nome do diretório que está procurando:
#!/BIN/BASH
eco "digite seu nome de diretório."
Leia Dir1
Se [-d "dir1"]
então
eco "diretório foi encontrado"
outro
eco "o diretório não encontrou"
fi
Saída:
Verificando o arquivo sem usar a instrução "se":
O comando "teste" pode ser executado sem a declaração "se". Ele exibirá apenas a saída se o arquivo existir; caso contrário, não haveria saída:
Escreva o script:
teste -f myfile.txt && eco "o arquivo foi encontrado"
[-f MyFile.txt] && eco "$ arquivo foi encontrado."
[-f myfile.txt]] && echo "$ arquivo foi encontrado."
Saída:
Verificando o diretório sem usar a instrução "se":
Use as declarações abaixo mencionadas para verificar um diretório ou não:
[[-d testdir]] && eco "O diretório existe"
2) [-d testdir] && eco "O diretório existe"
Saída:
Verificando vários arquivos/diretórios:
1) Verificando vários arquivos com as instruções "se":
Use o sinalizador "-a" para verificar a existência de vários arquivos em vez de usar as instruções "if/else" aninhadas:
#!/BIN/BASH
Se [-f new_file.txt -a -f newfile.TXT ]; então
eco "Ambos os arquivos existem."
fi
Outra maneira é:
#!/BIN/BASH
Se [[-f new_file.txt && -f newfile.TXT ]]; então
eco "Ambos os arquivos existem."
fi
Saída:
2) Verificando vários arquivos sem usar a instrução "se":
Use a seguinte instrução para verificar vários arquivos simultaneamente 1 sem usar "se":
[-f new_file.txt && -f newfile.txt]] && echo “Ambos os arquivos saem.”
[-f new_file.txt && -f newfile.txt]] && echo “Ambos os arquivos saem.”
Saída:
Conclusão:
Este artigo mostrou como usar scripts bash para verificar um arquivo ou um diretório. Usamos opções diferentes para verificar a disponibilidade de um arquivo. Em primeiro lugar, usamos o comando "teste" com diferentes bandeiras. Então aprendemos o uso de "se", aninhado "if-else" e sem as instruções "se" para verificar o arquivo ou diretório. Também analisamos como verificar vários arquivos ou diretórios.