[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Script comentado
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Script comentado |
Date: |
Sun, 4 Nov 2007 17:25:50 -0200 |
On 11/4/07, Jose Valdir Gama <address@hidden> wrote:
> LISTA=$(cat $PREFIX/etc/list.conf | grep ^\/ | sort | uniq)
>
> o que este ^V | sort | uniq faz?
Vejamos esta linha:
LISTA=$(cat $PREFIX/etc/list.conf | grep ^\/ | sort | uniq)
ela é o mesmo que
LISTA=$( comando )
ou seja, se vc executar na linha de comando o que está entre '$(' e
')' vai ver alguma coisa sendo escrita na tela. apresento a vc uma
forma de capturar tudo isso e colocar na variavel de ambiente LISTA.
Vejamos passo a passo:
cat $PREFIX/etc/list.conf | grep ^\/ | sort | uniq
aqui vc tem uma sequencia de 4 pipes. vejamos
cat $PREFIX/etc/list.conf
vai mostrar o conteudo desse arquivo
cat $PREFIX/etc/list.conf | grep ^\/
Vai pegar tudo o que começa com a letra V maiscula (é uma expressão regular)
cat $PREFIX/etc/list.conf | grep ^\/ | sort
Vai ordenar alfabeticamente o resultado
cat $PREFIX/etc/list.conf | grep ^\/ | sort | uniq
Vai omitir os resultados repetidos. Uma outra forma de conseguir fazer isso é:
grep '^\/' ${PREFIX}/etc/list.conf | sort -u
Enfim, agora que vc tem uma ideia, cada linha que vc não entendeu
necessita de um tempo de estudo. sugiro que vc execute linha a linha
desse script na mão e veja o resultado de todas as variaveis, etc.
Outra forma é executar com a opção de debug ligada
$ cat a.sh
#!/bin/bash -x
VARIAVEL=$( ls *.c | sort )
$ ./a.sh
++ ls a.c b.c code.c cpf.c test.c z.c
++ sort
+ VARIAVEL='a.c
b.c
code.c
cpf.c
test.c
z.c'
agora ficou facil de entender. certo?
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"
- Script comentado, Jose Valdir Gama, 2007/11/04
- Re: [shell-script] Script comentado,
Tiago Barcellos Peczenyj <=