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

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

Re: [shell-script] Como desativar a tecla "esc"


From: Leonardo Bites
Subject: Re: [shell-script] Como desativar a tecla "esc"
Date: Wed, 5 Aug 2009 10:40:00 -0300

Valeu muito,
vou fazer os testes aqui, a explicação realmente faz muito sentido.

Obrigado !!!

2009/8/4 Lucien Raven <address@hidden>

>
>
>
> Leonardo,
>
> pelo que entendi, você está testando o retorno da função SelecionaLog para
> ver se é 255.
>
> > SelecionaLog
> > if [ "$?" != "0" ] && [ "$?" != "255" ];then
>
> Não vai funcionar, a não ser que dentro da função você altere a linha do
> dialog para capturar o ReturnCode em outra variável:
>
> VAR1=$(dialog --backtitle "Caixa Economica Federal" --title "coleta de logs
> Multicanal" --no-cancel --stdout --menu "\nSelecione o tipo de Log que
> deseja capturar:" 18 65 2 1 "Log completo" 2 "Log por data");ERR=$?
>
> Após executar a função, teste a variável $ERR:
>
> if [ "$ERR" != "0" ] && [ "$ERR" != "255" ]
>
> Ou então, na saída da função, saia com um : return $ERR
> Aí sim o teste do "$?" irá fazer o que você pretendia.
>
> LR :>
>
> --- Em ter, 4/8/09, Leonardo Bites 
> <address@hidden<leonardo.bites%40gmail.com>>
> escreveu:
>
> > De: Leonardo Bites <address@hidden<leonardo.bites%40gmail.com>
> >
> > Assunto: [shell-script] Como desativar a tecla "esc"
> > Para: address@hidden<shell-script%40yahoogrupos.com.br>
> > Data: Terça-feira, 4 de Agosto de 2009, 16:31
>
> > Galera estou apanhando pra impedir
> > que a tecla esc feche o meu script já
> > tentei como podem ver no codigo tratar o $? =255 mas não
> > funcionou. Alguém
> > sabe como faço pra desativar essa tecla no dialog.
> > Segue o meu script
> >
> >
> > #!/bin/bash
> > # Autores: Leonardo Bites e Tiago Mingone
> > # Script de Automacao do processo de captura de Logs do
> > multicanal
> > # Data: 06/02/2009
> > #
> > #Modificacoes
> > #
> > #Vers‹o 1 - AtualizaŤ‹o para pegar Logs via Rede
> > (SSH)
> > #Vers‹o 2 - CorreŤ‹o na funŤ‹o Salva Log para
> > funcionar com as Vers›es Etch
> > e Sarge do Debian e na FunŤ‹o DataLog para corrigir o
> > problema de
> > duplicidades na captura
> > #Vers‹o 3 - SeparaŤ‹o da captura do Banco de dados e o
> > log da AplicaŤ‹o e
> > modificacao da nomeclatura dos arquivos para o padrao
> > indicado pela REDEASP.
> > #Vers‹o 4 - AlteraŤ‹o para maquinas 4534 e
> > resoluŤ‹o de bug na coleta do
> > prolog
> > #Vers‹o 5 - Adiciona Informacoes do equipamento
> > #Vers‹o 6 - Modifica dados do equipamento
> > #Vers‹o 7 - Trava saida para prompt (saida somente com
> > senha), finaliza e
> > derruba sessao
> >
> >
> > export SHELL=/bin/bash
> > arq_informacoes="/home/suporte/informacoes.txt"
> >
> > #DeclaraŤ‹o de FunŤ›es
> >
> >
> >
> >
> >
> > function SelecionaLog() {
> >     SELECIONALOG=$(dialog --backtitle "Caixa
> > Economica Federal" \
> > --title "coleta de logs Multicanal" \
> > --stdout \
> > --nocancel \
> > --menu "\nSelecione a opcao:" 18 65 9 \
> > 1 "Coleta logs do SIMMA (Extracash.log)" \
> > 2 "Coleta Banco de dados da Aplicacao" \
> > 3 "Coleta logs dos drivers da Perto" \
> > 4 "Coleta logs dos driver Procomp" \
> > 5 "Coleta logs do sistema de atualizacao de pacotes"\
> > 6 "Informacoes do equipamento"\
> > 7 "Alterar dados do equipamento"\
> > 8 "Sair para prompt de comando"\
> > 9 "Finalizar coleta de log")
> > }
> >
> >
> >
> > function TipoLog() {
> > TIPO=$(dialog --backtitle "Caixa Economica Federal" \
> > --title "coleta de logs Multicanal" \
> > --no-cancel \
> > --stdout \
> > --menu "\nSelecione o tipo de Log que deseja capturar:" 18
> > 65 2 \
> > 1 "Log completo" \
> > 2 "Log por data")
> > }
> >
> > function TestaTipo(){
> > if [ "$TIPO" == "1" ]; then
> > DiretorioLog
> > else
> >    DataLog
> > fi
> > }
> >
> > function DataLog() {
> > #export LANG=pt_br
> > DATA=$(ls -l -q ${DIRETORIO}${ARQUIVOS} --sort=time |grep
> > -v ^d |awk
> > '{print $6}'|uniq)
> > echo $DATA|tr " " "\12" > /home/suporte/DATA
> > whiptail --title \
> > "Selecione as datas para coleta de LOG" \
> > --checklist "\nDatas disponiveis:" 0 60 $(cat
> > /home/suporte/DATA|wc -l)
> > $(cat /home/suporte/DATA|while read d; do echo "$d" "."
> > "off"; done)
> > 2>/home/suporte/data ;
> > DATA_SEL=$(cat /home/suporte/data)
> > rm /home/suporte/data
> > echo ${DATA_SEL//\"} >/home/suporte/data
> >
> > }
> >
> > function DiretorioLog() {
> > case ${SELECIONALOG} in
> > 1)
> > DIRETORIO=/opt/foton/log/
> > ARQUIVOS="*"
> > ;;
> > 2)
> > DIRETORIO=/opt/foton/db/
> > ARQUIVOS="*"
> > ;;
> > 3)
> > DIRETORIO=/opt/perto/log/
> > ARQUIVOS="*"
> > ;;
> > 4)
> > DIRETORIO=/opt/DieboldProcomp/JXFS/DieboldProcompJXFS/Logs/
> > ARQUIVOS="*"
> > MODELO=$(cat /root/modelo_procomp)
> > if [ '${MODELO}' = '5' ]; then
> >    AMI=/opt/DieboldProcomp/AMI/AMITrace*
> > fi
> > if [ -e "/tmp/prolog.log" ]; then
> >    TMP="/tmp/prolog.log"
> > else
> >    TMP="/tmp/prolog/prolog*"
> > fi
> >
> >         if [ -e "/tmp/prolog/" ]; then
> >
> >         TMP=${TMP}
> >
> >         else
> >
> >          if [ -e
> > "/var/prolog.log" ]; then
> >      TMP="/var/prolog.log"
> > else
> >      TMP="/var/prolog/prolog*"
> > fi
> > fi
> > ;;
> > 5)
> > DIRETORIO=/var/log/
> > ARQUIVOS="*_atm.log"
> > ;;
> >
> > *)
> > ;;
> > esac
> >
> > }
> >
> >
> > function SalvaLog() {
> >
> >   TTY=$(tty |cut -d "/" -f 3,4)
> >
> >   IP=$(who |grep ${TTY} |awk '{print $6}' |tr -d "(
> > )")
> >
> >   if [ -z $IP ]; then
> >   IP=$(who |grep ${TTY} |awk '{print $5}' |tr -d "(
> > )")
> >   fi
> >
> >   USUARIO=$(dialog --stdout --inputbox "Entre com o
> > nome do usuario da
> > maquina de acesso " 0 0 )
> >
> >   clear
> >   tput cup 10
> >   echo -e "\n Aguarde solicitacao da senha "
> >
> >   scp  /home/suporte/${NOMELOG}_`date
> > +%d%m%y`.tar.gz
> > ${USUARIO}@${IP}:/home/${USUARIO}
> > && dialog --stdout --msgbox  "Arquivo de Log
> > enviado para a pasta
> > /home/${USUARIO} da maquina ${IP}." 20 60 ||  dialog
> > --stdout --msgbox
> > "Arquivo de Log nao pode ser transferido verifique as
> > permissoes da pasta
> > /home/${USUARIO} da maquina ${IP}." 20 60
> >
> >   ApagaTudo
> >   SelecionaLog
> >
> >
> >
> >   #PID=$(ps aux |grep $USER@$TTY |head -n 1 |awk
> > '{print $2}')
> >   #kill ${PID}
> >
> > }
> >
> > function NomeLog(){
> >
> >   eval NOMELOG=${LOG}"_"${NUM_TERMINAL} ; echo
> > $NOMELOG
> >
> > }
> >
> > function CompactarLog() {
> >
> >
> > if [ "$TIPO" = "1" ]; then
> >
> > if [ "${SELECIONALOG}" == "1" ]; then
> > cd ${DIRETORIO}
> > tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
> > ${DIRETORIO} ${TMP}
> > ${AMI} ${arq_informacoes}
> > else
> > cd ${DIRETORIO}
> > tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
> > ${DIRETORIO}${ARQUIVOS} ${TMP} ${AMI} ${arq_informacoes}
> >
> > fi
> > else
> > if [ "${SELECIONALOG}" == "1" ]; then
> > for i in `cat /home/suporte/data`; do ls -l -N
> > ${DIRETORIO}|awk '{print $6"
> > "$8}'|grep $i |cut -d " " -f2; done >
> > /home/suporte/arquivo.logs
> > cd ${DIRETORIO}
> > tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
> > --files-from=/home/suporte/arquivo.logs ${TMP} ${AMI}
> > ${arq_informacoes}
> > rm /home/suporte/arquivo.logs
> > else
> > for i in `cat /home/suporte/data`; do ls -l -N
> > ${DIRETORIO}${ARQUIVOS}|awk
> > '{print $6" "$8}'|grep $i |cut -d " " -f2; done >
> > /home/suporte/arquivo.logs
> > cd ${DIRETORIO}
> > tar -cvzf /home/suporte/${NOMELOG}_`date +%d%m%y`.tar.gz
> > --files-from=/home/suporte/arquivo.logs ${TMP} ${AMI}
> > ${arq_informacoes}
> > rm /home/suporte/arquivo.logs
> > fi
> > fi
> >
> > }
> >
> > function ApagaTudo(){
> >
> >   rm -f /home/suporte/data
> >   rm -f /home/suporte/DATA
> >   rm -f /home/suporte/arquivo.logs
> >   rm -f /home/suporte/*.tar.gz
> >   rm -f /home/suporte/consulta.sql
> >   rm -f /home/suporte/informacoes.txt
> >
> > }
> >
> > function SairPrompt(){
> > senha=$(dialog --stdout --title "Caixa Economica Federal"
> > --insecure
> > --passwordbox "entre com a senha: " 10 50)
> >
> >
> > senha_md5=$(echo -n "${senha}" | md5sum |tr -d " ")
> >
> > if [ "${senha_md5}" = "0f359740bd1cda994f8b55330c86d845-"
> > ]; then
> >
> >     break
> >     sair="1"
> >
> > else
> >
> >     dialog  --title 'Senha Incoreta !'
> > --msgbox 'A senha esta incoreta tente
> > novamente.'  10 50
> >
> > fi
> > }
> >
> > #Excucao do programa
> > echo "interacao"
> > source Informacao_maquina.sh
> >
> > trap "" 2
> >
> > SelecionaLog
> > if [ "$?" != "0" ] && [ "$?" != "255" ];then
> >
> > sair="1"
> >
> > fi
> >
> > echo "select pmtval from pmt where pmtcod = '65';"
> > >/home/suporte/consulta.sql
> >
> > export NUM_TERMINAL=$(/opt/firebird/bin/isql
> > localhost/3050:/opt/foton/db/EXTRACASH.GDB -u sysdba -p
> > caixa -s 1
> > -noautocommit -i consulta.sql | tail -2 | head -1 | cut -f1
> > -d" ")
> >
> > while [ "${sair}" != "1" ];do
> > case ${SELECIONALOG} in
> >
> > 1)
> > export LOG="extracash"
> > DiretorioLog
> > TipoLog
> > TestaTipo
> > NomeLog
> > CompactarLog
> > SalvaLog
> > ;;
> > 2)
> > export LOG="firebird"
> > DiretorioLog
> > TIPO="1"
> > TestaTipo
> > NomeLog
> > CompactarLog
> > SalvaLog
> > ;;
> > 3)
> > export LOG="perto"
> > DiretorioLog
> > TipoLog
> > TestaTipo
> > NomeLog
> > CompactarLog
> > SalvaLog
> > ;;
> > 4)
> > export LOG="procomp"
> > DiretorioLog
> > TipoLog
> > TestaTipo
> > NomeLog
> > CompactarLog
> > SalvaLog
> > ;;
> > 5)
> > export LOG="atualizacao"
> > DiretorioLog
> > TipoLog
> > TestaTipo
> > NomeLog
> > CompactarLog
> > SalvaLog
> > ;;
> > 6)
> >     whiptail --title "Informacoes do Equipamento"
> > --msgbox "$(cat
> > ${arq_informacoes})" 0 60
> >     SelecionaLog
> >     ;;
> > 7)
> >     ./AlteraDados.sh
> >     SelecionaLog
> >     ;;
> > 8)
> >         SairPrompt
> >         SelecionaLog
> >         ;;
> >
> >     9)
> >     ApagaTudo
> >     kill -HUP `pgrep -s 0 -o`
> >     #sair="1"
> > ;;
> >
> > *)
> > ;;
> > esac
> > done
> >
> >
> > --
> > --
> > Leonardo Bites
> >
> > Linux Registered user #449087
> > ___________________________
> >
> > "Open Source for Open Minds"
> >
> > "Pensamentos tornam-se ações,
> >
> > ações tornam-se hábitos,
> >
> > hábitos tornam-se caráter,
> >
> > e nosso caráter torna-se nosso destino".
>
> __________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
>  
>



-- 
-- 
Leonardo Bites

Linux Registered user #449087
___________________________

"Open Source for Open Minds"

"Pensamentos tornam-se ações,

ações tornam-se hábitos,

hábitos tornam-se caráter,

e nosso caráter torna-se nosso destino".


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



reply via email to

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