shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Resultado Errado


From: address@hidden
Subject: Re: Resultado Errado
Date: Thu, 23 Jul 2009 20:12:48 -0000
User-agent: eGroups-EW/0.82

Marcus,

mesmo eu fazendo assim

if [ -d "$i" ]; then
   echo -e "$i \033[01;32m(dir)\033[00m"
else
   echo -e "$i \033[01;33m(arquivo)\033[00m"
fi

não funciona.

como você pode vê estou querendo trazer os diretórios. quando encontrado um 
diretório me mostra o nome do diretório (dir) e caso encontre um arquivo me 
mostre nome do arquivo (arquivo).

senod que isso funciona somente com o diretório onde o script esta sendo 
executado.



--- Em address@hidden, Marcus :D <marcus.jabber@...> escreveu
>
> A tua segunda estrutura de if está errado.
> Está assim if-elif, está faltando o else.
> 
> Abs!
> 
> 
> 
> jscarmo@... escreveu:
> >  
> >
> > Caros colegas tem o seguinte script,
> >
> > #1/bin/bash
> >
> > arquivo="$1"
> >
> > if [ $# -ne 1 ]; then
> > echo ""
> > echo "Erro -> uso $0 [nome do diretório]"
> > echo ""
> > else
> > ls $arquivo | while read i
> > do
> > if [ -d "$i" ]; then
> > echo -e "$i \033[01;32m(dir)\033[00m"
> > elif [ -e "$i" ]; then
> > echo -e "$i \033[01;33m(arquivo)\033[00m"
> > fi
> > done
> > fi
> >
> > o problema é o seguinte:
> >
> > quando passa o nome do diretório corrente (o diretório onde o script 
> > esta) ele me retorna o resultado certo.
> > Mas quando passo outro diretório o resultado vem errado.
> >
> > Gostaria de uma ajuda
> >
> >
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]