Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Super app

Terminei fazendo um script só para todo exercício.

#! /bin/bash

echo "Qual é seu nome?"
read nome

# caso o numero não seja válido vai voltar pra cá
while true; do
echo "Seja bem vindo, $nome!"

# lista de opções do aplicativo
echo "O que deseja fazer hoje?"
echo "1 - Criar um backup."
echo "2 - Criar um diretório."
echo "3 - Verificar se o arquivo existe."
echo "4 - Contar de 1 até 5."

# usuário escolhe um número
echo "Número desejado:"
read numero

# dependendo do número escolhido ele vai para um caso diferente
case $numero in
# fazer um backup compactado de uma pasta dada em um local padrão 
1)
        echo "Você digitou número 1!"
        echo "Qual o caminho da pasta que deseja salvar?"
        read diretorio_backup
        nome_arquivo="backup_$(date +%Y%m%d_%H%M%S).tar.gz"
        tar -czf "$nome_arquivo" "$diretorio_backup"
        echo "Backup concluído e salvo comom $nome_arquivo"

        break   
        ;;

# criar um diretório em um local indicado
2)
        echo "Você digitou número 2!"
        echo "Qual o nome do diretório"
        read diretorio
        echo "Onde você deseja criar esse diretório?"
        read localizacao
        cd "$localizacao"
        mkdir "$diretorio"
        break
        ;;

# procurar um arquivo
3)
        echo "Você digitou número 3!"
        echo "Qual o nome do arquivo que está procurando?"
        read arquivo
        find /home/ -name "$arquivo" -printf "%h/%f\n"

        break
        ;;

# contar de 1 à 5
4)
        echo "Você digitou número 4!"
        for i in {1..5}; do
                echo $i
        done
        break
        ;;

*)
        echo "Sua alternativa não é válida!"
        ;;

esac

done
2 respostas
solução!

Olá, Bruno!

Você conseguiu criar um script que engloba todas as atividades propostas no exercício. Parabéns!!

Notei que você usou a estrutura de controle case para lidar com as diferentes opções do menu, o que é uma ótima escolha. Além disso, você usou o comando read para obter a entrada do usuário, o comando tar para criar um backup, o comando mkdir para criar um diretório, o comando find para procurar um arquivo e um loop for para contar de 1 a 5. Todas essas são práticas muito boas e estão corretas.

A única coisa que eu sugeriria é adicionar uma verificação antes de criar o diretório e o backup. Por exemplo, você pode verificar se o diretório onde o usuário deseja criar o novo diretório ou o backup existe e tem as permissões necessárias. Isso pode evitar erros ao tentar criar o diretório ou o backup.

Aqui está um exemplo de como você pode fazer isso:

# criar um diretório em um local indicado
2)
        echo "Você digitou número 2!"
        echo "Qual o nome do diretório"
        read diretorio
        echo "Onde você deseja criar esse diretório?"
        read localizacao
        if [ -d "$localizacao" ] && [ -w "$localizacao" ]; then
            cd "$localizacao"
            mkdir "$diretorio"
        else
            echo "Diretório não existe ou você não tem permissão para escrever nele."
        fi
        break
        ;;

Bons estudos!

Olá Bruno!

Estava lendo seu código e fiquei em dúvida sobre a linha do find referente ao exercício 3, especificamente no comando "%h%f\n", o que esse comando executa?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software