[Ubuntu-BR] Ajuda para criar um alias no .bashrc

Daniel Bastos dbastos+0 em toledo.com
Sexta Setembro 18 15:49:32 UTC 2009


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.





More information about the ubuntu-br mailing list