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

Pratica

#!/bin/bash
echo "Seja bem-vindo!"

#!/bin/bash
read -p "Qual diretório deseja criar uma cópia de segurança: " diretorio

if [ -d "$diretorio" ]; then
    echo "Aguarde... criando uma cópia de segurança do diretório '$diretorio' "
    cp -r "$diretorio" "${diretorio}_backup"
    echo "A cópia de segurança foi criada em: ${diretorio}_backup"
else
    echo "O diretório informado não existe!"
fi

#!/bin/bash
read -p "Digite o nome do diretório que deseja criar: " diretorio

if [ -d "$diretorio" ]; then
    echo "O diretório '$diretorio' já existe!"
else
    echo "Criando o diretório '$diretorio'..."
    mkdir -p "$diretorio"
    echo "O diretório foi criado com sucesso em: $diretorio"
fi

#!/bin/bash
read -p "Escreva o nome de um arquivo para verificar se existe: " arquivo

if [ -f "$arquivo" ]; then
    echo "O arquivo '$arquivo' existe."
else
    echo "O arquivo '$arquivo' não existe."
fi

#!/bin/bash
echo "Contagem de 1 a 5:"

for i in {1..5}; do
    echo "$i"
done

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
3 respostas
solução!

Olá Monique.
Atividades realizadas com sucesso!
Parabéns.
Apenas uma sugestão seria utilizar colchetes duplos : [[ condição ]] nas condições dos ifs que é uma abordagem mais moderna e evita erros nos scripts.
Se quiser saber mais comente ai.
Bons estudos.

Ola!
Quero saber mais .

Olá Monique.
Que bom que perguntou!
Vamos lá:
Diferenças entre [ e [[:

  • [ (colchete simples) é um comando tradicional, compatível com várias shells (sh, dash, etc.).
  • [[ (colchetes duplos) é uma melhoria introduzida no Bash (e outras shells modernas), com vantagens práticas importantes.
    Imagine que uma variável esteja vazia. Veja o risco:
var=""
if [ $var = "teste" ]; then  # Isso pode gerar erro

Agora com colchetes duplos:

if [[ $var == "teste" ]]; then  # Isso funciona sem problemas

Não precisa escapar tantos caracteres.
Por exemplo:

if [[ $arquivo == *.txt ]]; then
    echo "É um arquivo de texto."
fi

Esse tipo de verificação com coringas (*) não funciona da mesma forma com colchetes simples.
Operadores lógicos mais intuitivos.
Você pode usar && e || diretamente dentro do [[ ... ]]:

if [[ $idade -gt 17 && $idade -lt 60 ]]; then
    echo "Idade válida."
fi

Com colchetes simples, isso seria mais verboso ou exigiria um bloco extra.
Suporte a expressões regulares:

if [[ $email =~ ^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$ ]]; then
    echo "Email válido"
fi

Quando usar cada um?

  • Prefira sempre [[ ... ]] quando estiver usando Bash.
  • Use [...] apenas se precisar garantir compatibilidade com scripts em shells mais antigas como sh.

Se ficar alguma duvida pode perguntar.
Bons estudos.