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

Estrutura de repetição FOR

#!/bin/bash

cd ~/Downloads/imagens-novos-livros/

for arquivo in *
do
    if [ -d arquivo ]
    then
    echo "Diretorio"
    else
    echo "Não é diretório"
    fi
done

Boa noite! Poderiam me explicar o fluxo do FOR? Nesse caso eu rodei o script em uma pasta que tinham dois arquivos de imagem e três diretórios, a saída foi:

Não é diretório; Não é diretório; Não é diretório; Não é diretório; Não é diretório;

Por que ele não apresentou como saída "Diretorio" duas vezes, já que tinham três pastas aonde o script foi executado?

3 respostas
solução!
#!/bin/bash

cd ~/Downloads/imagens-novos-livros/

for arquivo in *
do

    if [ -d $arquivo ]
    then
    echo "Diretorio"
    else
    echo "Não é diretório"
    fi
done

Fiz uma pequena mudança e funcionou, coloquei o $ na frente de 'arquivo'.

Oi Rafael, problema resolvido então? Isso é mostrado na aula? Você tem alguma dúvida ainda?

Esse exercício tem embasamento na aula sim, mas eu incrementei um pouco pra colocar em prática o que eu tinha aprendido. Está resolvido, obrigado!