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

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

Re: [shell-script] Bem que matutei mas nao saiu !!!!


From: Emerson Domingues Souto
Subject: Re: [shell-script] Bem que matutei mas nao saiu !!!!
Date: Thu, 20 Oct 2005 17:59:45 -0200

Olá,

o "for" le PALAVRA por PALAVRA e nao LINHA por LINHA, para isso use o "read":


#!/bin/bash

ps aux |grep $1 | while read LINHA
do
        echo $LINHA
done

obs: troquei o nome da variavei "i" para "LINHA" apenas pra ficar mais 
entendível, mas se o nome for "i" funciona tb do mesmo jeito


Att,
Emerson

  ----- Original Message ----- 
  From: Franklin Anderson de Oliveira Souza 
  To: address@hidden 
  Sent: Thursday, October 20, 2005 5:16 PM
  Subject: [shell-script] Bem que matutei mas nao saiu !!!!


  E ae turma, to fazendo um programinha aqui e sempre me esbarro com o
  seguinte problema.

  Se digitarmos "ps aux" teremos os processos da maquina listados ..... algo 
como:

  $ ps aux
  root      3016  0.0  0.2  4684  580 ?        Ss   14:03   0:00
  /usr/bin/X11/xfs -daemon
  root      3116  0.0  0.4  2804 1056 ?        S    14:03   0:00
  /bin/bash /etc/rc2.d/S20xprint start
  root      3117  0.0  0.4  2804 1056 ?        S    14:03   0:00
  /bin/bash /etc/rc2.d/S20xprint start
  root      3120  0.0  0.4  2804 1056 ?        S    14:03   0:00
  /bin/bash /etc/rc2.d/S20xprint start
  franklin  3168  0.0  0.9  6196 2260 ?        Ss   14:03   0:00
  /usr/sbin/famd -T 0

  Mas  o script que segue abaixo teria que produzir o mesmo resultado

  #!/bin/bash

  for i in `ps aux |grep $1`
  do
          echo $i
  done

  $ programa.sh xterm   (exemplo funcional)

  No meu humilde conhecimento, teriamos que ter o mesmo resultado mas
  ele  atribui um "\n" para cada espaço encontrado em cada linha da
  saida do comando
  "ps aux |grep <parametro>".

  Por exemplo, rodando

  $ ps aux | grep xterm

  temos como saida:

  franklin  4962  0.0  1.2  6652 3048 ?        S    14:52   0:00 xterm
  franklin  4965  0.0  1.5  6792 3816 ?        S    14:52   0:01 xterm
  franklin 12050  0.0  0.3  1860  744 pts/2    R+   17:13   0:00 grep xterm

  mas pelo o programa teremos:

  $ ./programa.sh

  franklin
  4962
  0.0
  1.2
  6652
  3048
  ?
  S
  14:52
  0:00
  xterm
  -bg
  black
  -fg
  white
  -fa
  monospace
  -fs
  11
  -cr
  red
  -hc
  white
  -geometry
  80x20
  franklin
  .
  .
  .
  .
  .

  E assim por diante ...


  Qualquer dica eh bem vinda galera ....


  valeu


  franklin anderson de oliveira souza


  ---------------------------------------------------------------------
  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
  ---------------------------------------------------------------------
   
  Links do Yahoo! Grupos




   






[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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