1
resposta

Incrementando o script quando o caminho não é válido

Fala galera! Estou curtindo muito as aulas. Mas estou tendo ajuda do nosso amigo ChatGPT para entender melhor, sou designer e sei um pouco de JS então pra mim é tudo muito novo haha, vamos lá... Achei que só dizer que o caminho era ou não válido deixava um buraco no sistema, então implementei um teste antes e se o caminho não for válido ele pede para digitar novamente.

#!/bin/bash

# Função para verificar se o caminho é válido
verificar_caminho() {
    if [ -d "$1" ]; then
        echo "O caminho é válido!"
        return 0
    else
        echo "O caminho não é válido, tente novamente!"
        return 1
    fi
}

# Loop para pedir ao usuário para digitar um caminho até que seja válido
while true; do
    echo "Digite um caminho para o diretório:"
    read caminho

    # Verificar se o caminho é válido
    if verificar_caminho "$caminho"; then
        break  # Sair do loop se o caminho for válido
    fi
done

Seguimos!

1 resposta

Olá, Bruno!

Fico feliz em saber que você está curtindo as aulas e se empenhando para aprender mais sobre DevOps e scripts Linux. Seu background em design e JS com certeza vai te ajudar a ter uma visão ampla e criativa na resolução de problemas.

Sobre a sua dúvida, você está no caminho certo! Seu script está bem estruturado e faz exatamente o que se propõe - pede ao usuário para inserir um caminho de diretório e verifica se esse caminho é válido. Se não for, ele pede para o usuário tentar novamente.

A função verificar_caminho() que você criou usa o comando [ -d "$1" ] para verificar se o caminho fornecido é um diretório. Se for, ela retorna 0 (verdadeiro) e se não for, retorna 1 (falso).

No loop while, você pede ao usuário para digitar um caminho e então chama a função verificar_caminho() com o caminho fornecido. Se a função retornar verdadeiro (0), o loop é interrompido com o comando break.

Seu script está correto e muito bem elaborado, observando as boas práticas de programação. Parabéns pelo ótimo trabalho!

Bons estudos!