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
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!