[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Resultado Errado
From: |
Lucien Raven |
Subject: |
Re: [shell-script] Re: Resultado Errado |
Date: |
Thu, 23 Jul 2009 14:47:14 -0700 (PDT) |
Como assim?
Executei sem problemas:
# cd /home/lucien
# ./teste.sh /var/log
anaconda.log (arquivo)
anaconda.syslog (arquivo)
audit (dir)
boot.log (arquivo)
boot.log.1 (arquivo)
boot.log.2 (arquivo)
boot.log.3 (arquivo)
boot.log.4 (arquivo)
cron (arquivo)
cron.1 (arquivo)
cron.2 (arquivo)
cron.3 (arquivo)
.
.
.
<snip>
# cat teste.sh
#!/bin/bash
arquivo="$1"
if [ $# -ne 1 ]; then
echo ""
echo "Erro -> uso $0 [nome do diretó]"
echo ""
else
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
fi
---
Corrija sua primeira linha (o she-bang): tem um 1 no lugar da !
Acerte os 'if's para que inclua o diretório.
Ao invés de usar o 'ls', e colocar a variável $arquivo no if, pode usar o
'find $arquivo -maxdepth 1' .
Não sei qual o intuito do script, mas a variável LS_COLORS faz isso que você
faz com o script.
[]´s
LR :>
--- Em qui, 23/7/09, address@hidden <address@hidden> escreveu:
> De: address@hidden <address@hidden>
> Assunto: [shell-script] Re: Resultado Errado
> Para: address@hidden
> Data: Quinta-feira, 23 de Julho de 2009, 18:29
> Marcus,
>
> as respostas de nossos colegas não funcionaram.
>
> At,
> Jamilson Silva
>
> --- Em address@hidden,
> Marcus :D <marcus.jabber@...> escreveu
> >
> > 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!
> >
> > jscarmo@... 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
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
>
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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
- Re: [shell-script] Resultado Errado, (continued)
- Re: [shell-script] Resultado Errado, Marcus : D, 2009/07/23
- Re: Resultado Errado, address@hidden, 2009/07/23
- Re: [shell-script] Re: Resultado Errado, Marcus : D, 2009/07/23
- Re: Resultado Errado, address@hidden, 2009/07/23
- Re: [shell-script] Re: Resultado Errado, Lucien Raven, 2009/07/23
- Re: Resultado Errado, address@hidden, 2009/07/23
- Re: [shell-script] Re: Resultado Errado, Lucien Raven, 2009/07/23
- Re: [Resolvido] Resultado Errado, address@hidden, 2009/07/23
- Re: [shell-script] Re: Resultado Errado, Marcus : D, 2009/07/23
- Re: Resultado Errado, address@hidden, 2009/07/23
- Re: [shell-script] Re: Resultado Errado,
Lucien Raven <=
Re: [shell-script] Resultado Errado, Cléoson Barreto, 2009/07/23