1
resposta

Validação de Diretório

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
1 resposta

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!