[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] script de encerramento da sessão
From: |
Felipe Kellermann |
Subject: |
Re: [shell-script] script de encerramento da sessão |
Date: |
Fri, 2 Sep 2005 23:13:24 -0300 (BRST) |
User-agent: |
Pine <http://www.washington.edu/pine/> |
On Fri, 2 Sep 2005 6:10pm -0300, Alain wrote:
> Focê poderia indicar uma explicaÿÿão sobre isso? Meu manual de bash não
> ajudou, e o Google só truxe coisas muito confusas...
>
A `trap' é geralmente utilizada para especificar ações que o shell vai
tomar quando recebe um sinal. É uma interface à signal(2), que especifica
qual rotina chamar quando um sinal é recebido.
Nessa interface, há a possibilidade de que outros tipos de "sinais" sejam
especificados sem que eles efetivamente existam. Por exemplo, na bash, há
os "sinais" EXIT e DEBUG.
Por exemplo, a DEBUG vai ser chamada antes de cada execução de algum
comando:
$ trap 'printf "Linha: %d, resultado:" $LINENO && read' DEBUG
$ date
Linha: 14, resultado:
Fri Sep 2 19:45:26 BRST 2005
$ hostname
Linha: 15, resultado:
glacius.nyvra.org
$
A EXIT vai ser chamada sempre que qualquer instância da shell bash for
finalizada. Por exemplo:
$ bash
$ trap 'printf "Bash %d acabou: %s\n" $$ "$(date)"' EXIT
$ exit
Bash 5424 acabou: Fri Sep 2 19:49:29 BRST 2005
$
Tu poderia colocar um "read" no teu tratamento do EXIT para, quando for
fechar uma janela, esperar por um "enter" ou alguma tecla qualquer (e
parece que foi essa a dica que o Moyses passou antes).
--
Felipe Kellermann