Olá,
Abaixo se encontra minha resolução para validação de um diretório existente informado pelo usuário.
#! /bin/bash
if [ -e "$@" ]; then
echo "Diretório Existente!"
else
echo "Diretório Inválido"
exit 1
fi
Olá,
Abaixo se encontra minha resolução para validação de um diretório existente informado pelo usuário.
#! /bin/bash
if [ -e "$@" ]; then
echo "Diretório Existente!"
else
echo "Diretório Inválido"
exit 1
fi
Olá, Gabriel.
Tudo bem?
Seu script está quase correto, mas há um detalhe a ser ajustado. Para verificar se um caminho é um diretório, você deve usar a opção -d
em vez de -e
, que verifica a existência de qualquer tipo de arquivo (diretório, arquivo regular, link, etc.). Além disso, $@
é usado para passar todos os argumentos, mas como você está esperando apenas um argumento (o caminho do diretório), é melhor usar $1
.
Aqui está a versão ajustada do seu script:
#!/bin/bash
if [ -d "$1" ]; then
echo "Diretório Existente!"
else
echo "Diretório Inválido"
exit 1
fi
Dessa forma, o script verifica se o argumento passado é um diretório. Você pode executá-lo passando o caminho do diretório como argumento, por exemplo:
./seu_script.sh /caminho/do/diretorio
Espero ter ajudado e bons estudos!