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 21:16:20 -0000
User-agent: eGroups-EW/0.82

Lucien Raven ele necessita a passagem de parâmetro por causa desse if, 
verificando se foi passado um parâmetro.

if [ $# -ne 1 ]; the

At,
Jamilson Silva   

--- Em address@hidden, Lucien Raven <lucienraven@...> escreveu
>
> 
> De maneira rápida...
> 
> ls $arquivo | while read i
> do
> if [ -d "$arquivo/$i" ]; then
> echo -e "$i \033[01;32m(dir)\033[00m"
> elif [ -e "$arquivo/$i" ]; then
> echo -e "$i \033[01;33m(arquivo)\033[00m"
> fi
> done
> 
> 
> Sem especificar o diretório no if, ele não encontra o arquivo/diretório.
> 
> []´s
> 
> 
> LR :>
> 
> --- Em qui, 23/7/09, jscarmo@... <jscarmo@...> escreveu:
> 
> > De: jscarmo@... <jscarmo@...>
> > Assunto: [shell-script] Re: Resultado Errado
> > Para: address@hidden
> > Data: Quinta-feira, 23 de Julho de 2009, 17:39
> > 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,
> > 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>,
> > 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
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > >
> > 
> > 
> > 
> > 
> > ------------------------------------
> > 
> > ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de
> > programação, como perl, C etc. Quem insistir em não
> > seguir esta regra será moderado sem prévio aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em 
> > http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> > 
> > Links do Yahoo! Grupos
> > 
> > 
> > 
> > 
> 
> 
>       
> ____________________________________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>




reply via email to

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