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

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

Re: [shell-script] Otimização de código


From: Julio C. Neves
Subject: Re: [shell-script] Otimização de código
Date: Sat, 4 Apr 2009 15:24:39 -0300

Fala Jeiks,
teu código está feio mas muito eficiente. Eu não mexeria uma palha sequer
nele, exceto duas observações bobas:
- Só se usa ${var} para isolar a palavra var de algo que a segue e que seja
uma letra, um número ou um sublinha. Assim vc pode escrever $var: para
concatenar o valor de $var com um dois-pontos, mas caso vc queria concatenar
$var com o número 1 vc deve fazer ${var}1. Isso para que o shell não ache
que o nome da variável é var1.
- Outra coisinha boba é o tr [A-Z] [a-z], que poderia (e deveria) ser tr A-Z
a-z. O que vc fez é a construção unix e, neste caso, deveria ser tr '[A-Z]'
'[a-z]'.

Cara, o teu script tá muito bom e, pelo seu jeito de programar, acho que vc
foi meu aluno ou estudou no meu livro ou no Papo de
Botequim<http://wiki.softwarelivre.org/TWikiBar/WebHome#Livro_de_Shell_em_Portugu_s>.
Confirme.
-- 
Abração,
Julio
*Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ brevemente;
- Turmas fechadas em outras cidades ligue (21) 8112-9988*




2009/4/3 Jeiks <address@hidden>

>   Olá povo,
> estava precisando pegar o device de vídeo das máquinas e, caso fosses
> unichrome ou via, trocar o nome do driver para vesa.
> Bom... consegui, mas tá feio de ver.. hehe
> Gostaria de ajuda para melhorar o código.
>
> abração
>
> Código:
>
> #!/bin/bash
>
> DEVICE_DRIVER=""
>
> OLD_IFS="$IFS"
> VGA_INFO=$(
> IFS=$'\t'
> while read lixo NUM_ID lixo;do
> grep "0x${NUM_ID%????}.*0x${NUM_ID#????}.*Card:" \
> /usr/share/apps/guidance/pcitable
> done < /proc/bus/pci/devices | tr [A-Z] [a-z]
> )
> IFS="$OLD_IFS"
>
> DRIVERS="unichrome via"
> for DRIVE in $DRIVERS;do
> case ${VGA_INFO} in
> *${DRIVE}*)
> DEVICE_DRIVER="vesa"
> ;;
> esac
> done
>
> --
> Jacson R. C. Silva
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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