Discussion:
[shell-script] Checar Atualizações no SO
'Julio C. S. Ferraz' julio.ferraz@gmail.com [shell-script]
2018-08-29 14:49:57 UTC
Permalink
Amigos,

Bom dia!

Estou fazendo um script pra checar as atualizações disponíveis no meu S.O e
me enviar isso por email

Estou usando da seguinte maneira e da qual funciona:


UPDATES=$(yum check-update --quiet && yum --security check-update --quiet )
UPDATES_COUNT=$(echo "$UPDATES" | wc -l)

if [[ $UPDATES_COUNT -gt 0 ]]; then
echo "$UPDATES" | mail -s "Atualizações" ***@gmail.com
fi

Existe alguma maneira de usar APENAS a variável UPDATES para me entregar
pra mim todos os pacotes disponíveis, sem a necessidade do uso da variável
UPDATES_COUNT ?

E Como seria isso?
Obrigado!
Tiago Peczenyj tiago.peczenyj@gmail.com [shell-script]
2018-08-29 14:55:29 UTC
Permalink
Ola

De cabeça vem duas coisas:

a primeira é: se a variavel possui nenhum conteudo, vc pode verificar se a
mesma é igual/ diferente de "" ( empty string )

a segunda: existe uma expansao que da o tamanho da variavel

FOO="lol"
echo ${#FOO} # vai escrever 3

ou seja, vc pode ver se este valor é 0

fonte:
http://aurelio.net/shell/canivete/#expansao
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Amigos,
Bom dia!
Estou fazendo um script pra checar as atualizações disponíveis no meu S.O
e me enviar isso por email
UPDATES=$(yum check-update --quiet && yum --security check-update --quiet )
UPDATES_COUNT=$(echo "$UPDATES" | wc -l)
if [[ $UPDATES_COUNT -gt 0 ]]; then
fi
Existe alguma maneira de usar APENAS a variável UPDATES para me entregar
pra mim todos os pacotes disponíveis, sem a necessidade do uso da variável
UPDATES_COUNT ?
E Como seria isso?
Obrigado!
--
Tiago B. Peczenyj

http://about.me/peczenyj
julio.ferraz@gmail.com [shell-script]
2018-08-29 15:03:31 UTC
Permalink
Rapaz,

De cara, a primeira já me ajudou e me livrei da variável UPDATES_COUNT


Obrigado!



---Em shell-***@yahoogrupos.com.br, <***@...> escreveu:

Ola

De cabeça vem duas coisas:


a primeira é: se a variavel possui nenhum conteudo, vc pode verificar se a mesma é igual/ diferente de "" ( empty string )


a segunda: existe uma expansao que da o tamanho da variavel


FOO="lol"
echo ${#FOO} # vai escrever 3


ou seja, vc pode ver se este valor é 0


fonte:
http://aurelio.net/shell/canivete/#expansao http://aurelio.net/shell/canivete/#expansao



2018-08-29 16:49 GMT+02:00 'Julio C. S. Ferraz' ***@... mailto:***@... [shell-script] <shell-***@... mailto:shell-***@...>:

Amigos,



Bom dia!


Estou fazendo um script pra checar as atualizações disponíveis no meu S.O e me enviar isso por email


Estou usando da seguinte maneira e da qual funciona:




UPDATES=$(yum check-update --quiet && yum --security check-update --quiet )
UPDATES_COUNT=$(echo "$UPDATES" | wc -l)

if [[ $UPDATES_COUNT -gt 0 ]]; then
echo "$UPDATES" | mail -s "Atualizações" ***@... mailto:***@...
fi



Existe alguma maneira de usar APENAS a variável UPDATES para me entregar pra mim todos os pacotes disponíveis, sem a necessidade do uso da variável UPDATES_COUNT ?


E Como seria isso?
Obrigado!
















--
Tiago B. Peczenyj

http://about.me/peczenyj http://about.me/peczenyj
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2018-08-29 17:10:07 UTC
Permalink
Fala Xará,
Se vc deseja usar o Shell como manda o figurino, use o cmd

test ARG

que tb pode ser representado por:

[ ARG ] ou [[ ARG ]]

Sendo está última a forma mais moderna e que permite inclusive o uso de
expressões regulares.

Então para fazer de forma limpa e elegante, creio que o melhor seria fazer:

[ -n $Updates ]
ou
[[ -n $Updates ]]

A opção -n do cmd test, retornará verdadeira caso a variável exista e não
esteja vazia. Uma outra forma de fazer o mesmo seria booleanamente fazer:

[ $Updates ]
ou
[[ $Updates ]]

Que é seu equivalente, isto é, retornará verdadeira caso a variável exista
e não esteja vazia.


OBS:
Usei as suas variáveis em minúsculas, para distingui-las de variáveis do
sistema, que são em maiúsculas e para evitar que, inadvertidamente vc use
uma delas.

$ unset Updates # Matei a variável caso existisse
$ [[ -n $Updates ]] && echo tem atualização
$ [[ $Updates ]] && echo tem atualização
$ Updates= # Criei a variável vazia
$ [[ -n $Updates ]] && echo tem atualização
$ [[ $Updates ]] && echo tem atualização
$ Updates=3 # Valorei a variável
$ [[ $Updates ]] && echo tem atualização
tem atualização
$ [[ -n $Updates ]] && echo tem atualização
tem atualização

SuShellso,
Julio

*» Não tem tempo para fazer um curso presencial?*
*» Na sua cidade não tem nenhum bom curso de Linux?*
*» **Conheça nosso portal educacional e estude conosco: *
* http://www.dicas-l.com.br/educacao
<http://www.dicas-l.com.br/educacao/>*
*» Treinamento presencial (em 4 sábados) no RJ e BSB *
* em http://bit.ly/cursoshelljulioneves
<http://bit.ly/cursoshelljulioneves> *



*Também damos treinamento em sua empresa*
*em qualquer cidade**, **com certificado **e nota fiscal.*




Em qua, 29 de ago de 2018 às 11:50, 'Julio C. S. Ferraz'
Post by 'Julio C. S. Ferraz' ***@gmail.com [shell-script]
Amigos,
Bom dia!
Estou fazendo um script pra checar as atualizações disponíveis no meu S.O
e me enviar isso por email
UPDATES=$(yum check-update --quiet && yum --security check-update --quiet )
UPDATES_COUNT=$(echo "$UPDATES" | wc -l)
if [[ $UPDATES_COUNT -gt 0 ]]; then
fi
Existe alguma maneira de usar APENAS a variável UPDATES para me entregar
pra mim todos os pacotes disponíveis, sem a necessidade do uso da variável
UPDATES_COUNT ?
E Como seria isso?
Obrigado!
Loading...