[Ubuntu-BR] Ajuda para criar um alias no .bashrc
Felipe Tanus
wallacethescot em gmail.com
Sábado Setembro 19 18:19:26 UTC 2009
Oi Daniel,
Provavlemente esse comando não funciona como esperado. Você está
filtrando o comando ps por conky utilizando o grep, porém com isso
você criou um processo "grep conky", que também é filtrado. Rodando
várias vezes esse comando, tu pode perceber que um dos identificadores
de processo sempre mudam, porque esse é referente ao grep. Você
poderia arrumar essa linha utilizando
ps axu | grep conky | grep -v grep | awk '{ print $2 }'
assim, filtrando as linhas que não contém grep.
porém, existe um comando que faz exatamente isso já, é o pgrep.
Teste aí:
pgrep conky
[]'s
2009/9/18 Daniel Bastos <dbastos+0 em toledo.com>:
> In article <53811.201.82.146.189.1253239688.squirrel em squirrelmail.ultramail.com.br>,
> lista em fg.med.br wrote:
>
>> O comando a seguir funciona bem no terminal:
>>
>> $ ps axu | grep conky | awk '{ print $2 }'
>> 4728
>> 4770
>>
>> Porém se coloco no .bashrc ele não funciona tão bem:
>>
>> alias con="ps axu | grep conky | awk '{ print $2 }'"
>>
>> $ con
>> dg 4728 2.1 0.1 91792 4344 ? S 21:15 2:18 conky -c /home/dg/.conkyrc
>> dg 4770 0.1 0.0 90828 3184 ? S 21:15 0:06 conky -c /home/dg/.conkyrc2
>
> Em linguagens de programação, aspas são usadas como um comando
> qualquer. As aspas simples colocam o shell no modo verbatim. Tudo que
> vem após ' é tratado exatamente como vemos, até um próximo '.
>
> %echo '$$$'
> $$$
> %
>
> Sem as aspas, alguns símbolos vem a ter um significado qualquer.
>
> %echo $$$
> 17685$
> %
>
> Mas o " é diferente.
>
> %echo "$$$"
> 17685$
> %
>
> Ele até faz alguma coisa; ele tem um efeito; mas não é o de colocar o
> shell em modo verbatim. E aí o símbolo $$ tem a tomar o seu
> significado projetado pelo criador da linguagem.
>
> Entre aspas duplas, as simples perdem seu significado; ao invés de
> colocar o shell em modo verbatim, elas funcionam apenas como o
> caracter que representam; nao servem como instruções ao shell. Logo,
>
> %echo "'$$$'"
> '17685$'
>
> Mas, também, entre ', " não tem seu significado; funciona apenas como
> o caracter que representa.
>
> %echo '"$$$"'
> "$$$"
> %
>
> O caracter \ também é uma espécie de aspas. Aspas protegem bytes;
> evitam que seus significados definidos pela linguagem venham a ter
> efeito.
>
> O \ protege apenas o byte que vem logo a seguir.
>
> %echo \'
> '
> %echo \"
> "
>
> O ' protege todos os bytes que vêm a seguir até o próximo '.
>
> %echo '\'
> \
> %echo '"'
> "
> %
>
> E " na verdade delimita o início de um novo programa. Texto entre "
> funcionam como um programa, cuja linguagem é mais simples que a
> linguagem do shell em si onde " é parte.
>
> Na linguagem ", o símbolo ' não tem qualquer significado especial,
> exceto o de representar o caracter '. Mas \ ainda tem o significado de
> proteção que já conhecemos. Logo,
>
> alias con="ps axu | grep conky | awk '{ print \$2 }'"
>
> soluciona o seu problema de forma agradável.
>
>
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>
--
Felipe de Oliveira Tanus
E-mail: fotanus em gmail.com
Blog: http://fotanus.blogspot.com/
Site: http://www.inf.ufrgs.br/~fotanus/
-----
Aperture Science:
We do what we must because we can
For the good of all of us
except for the ones who are dead
More information about the ubuntu-br
mailing list