Como utilizo o bind?

1. Como utilizo o bind?

yuttttttt
yuttttttt

(usa Outra)

Enviado em 12/02/2017 - 03:41h

Como utilizo o bind para quando eu clicar numa tecla ou num conjunto de teclas(não tenho preferencia, pode ser qualquer uma) ele cancele o programa atual que está rodando no terminal, não o script onde ele está, mas um programa externo que esteja rodando no terminal onde inciou meu script qual eu chamei no mesmo. E assim continue normalmente o script de onde parou por conta do programa ter inciado. Ou se não tiver como fazer isso, pelo menos conseguir imprimir algo na tela ao clicar uma tecla mesmo com o programa externo sendo executado.


  


2. Re: Como utilizo o bind?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 13/02/2017 - 10:23h

Leia na manpage do bash a respeito do comando interno trap.

#!/bin/bash

trata_interrupt () {
: # A função não faz nada mesmo!
}

# ..

# Desvia o tratamento de SIGINT (gerado por um Control-C no terminal, por exemplo)
# para a função “trata_interrupt”. Como a função tratadora não faz nada, o efeito é
# impedir o script de responder com o tratamento padrão, que seria o de encerrar o
# script.
#
# Essa abordagem é melhor do que ignorar o sinal (por exemplo, com “trap "" 2”), porque
# um sinal ignorado pelo shell seria ignorado também pelos processos filhos. Já quando
# o sinal tem um tratador específico no shell, outros comandos externos, que executam em
# processos separados e, portanto, não têm acesso ao tratador especificado pelo shell,
# são obrigados a reinstalar o tratador default (ou a instalar, posteriormente, algum outro
# tratador do próprio programa).
trap trata_interrupt 2

chama_comando_externo
# Note que o comando tem de ser externo: se fosse interno, ele herdaria o mesmo tratador
# faz-nada.

# Restaura o tratamento padrão.
trap - 2

# ...







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts