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

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

Re: [shell-script] Re: Resultado Errado


From: Marcus : D
Subject: Re: [shell-script] Re: Resultado Errado
Date: Thu, 23 Jul 2009 18:17:07 -0300
User-agent: Thunderbird 2.0.0.22 (Windows/20090605)

Agora creio que entendi o que voce quer. Nao testei o script na minha maquina antes porque estava sem vontade.

Creio que voce ja tem a resposta, o Lucien e o Cleoson ja deram a resposta correta.

Abs!

address@hidden escreveu:
Marcus,

Não querendo ser chato demais. Por favor teste esse script na máquina
e verifique que quando executamos ele no diretorio corrente.
Por exemplo:

Se o script estive no /home/jamilson
./verificar.sh .
./verificar.sh ~
./verificar.sh /home/jamilson

ele me retorna o resultado esperado como,
o que é diretório mostra ao lado a palavra (dir) de verde
e já quando é arquivo me mostra o nome do arquivo com a palavra (arquivo) de amarelo.

Já quando passamos:
./verificar.sh /
./verificar.sh /etc
./verificar.sh /tmp

não trás o resultado esperado.

e muito obrigado por sua atenção.

--- Em address@hidden <mailto:shell-script%40yahoogrupos.com.br>, Marcus :D <marcus.jabber@...> escreveu
>
> Se a passoa passar como parametro o caminho completo do diretorio
> /usr/loca/diretorio por exemplo. Nao funciona?
>
> jscarmo@... 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 address@hidden <mailto:shell-script%40yahoogrupos.com.br>
> > <mailto:shell-script%40yahoogrupos.com.br>, 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]