Se a passoa passar como parametro o caminho completo do diretorio 
/usr/loca/diretorio por exemplo. Nao funciona?

[email protected] escreveu:
>  
>
> 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 [email protected] 
> <mailto:shell-script%40yahoogrupos.com.br>, Marcus :D 
> <marcus.jab...@...> escreveu
> >
> > A tua segunda estrutura de if está errado.
> > Está assim if-elif, está faltando o else.
> >
> > Abs!
> >
> >
> >
> > jsca...@... 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
> > >
> > >
> >
>
> 

Responder a