Sair do comando com qualquer tecla

2

Veja o que eu tenho:

Um script que grava som e sai ao pressionar ctrl + c

arecord -D plughw:0,0 -f cd -t wav -d 0 -q -r 16000 > file

Isto irá gravar e gravar até eu apertar ctrl + c

Eu quero simular a ação ctrl + c, pressionando qualquer tecla (de preferência um pressionamento de tecla)

    
por user215275 13.11.2013 / 06:56

2 respostas

1

Você pode usar stty em um subshell e mudar a configuração para ctrl - c para qualquer coisa. No meu exemplo eu mudei para x . Depois que a subshell é terminada ou interrompida por x a configuração será restaurada para ^ c ( ctrl - c ).

user@host:~# (stty intr x && arecord -D plughw:0,0 -f cd -t wav -d 0 -q -r 16000 > file); stty intr ^c

Mesmo que você mate o processo por meio de killall acroread , a configuração será restaurada.

    
por chaos 13.11.2013 / 08:06
1

Supondo que você use bash como seu shell (você pode mudar o shell se for diferente de bash, na primeira linha do script):

#!/bin/bash
arecord -D plughw:0,0 -f cd -t wav -d 0 -q -r 16000 > file &
pid_of_arecord='pidof arecord'
read input
kill -2 $pid_of_arecord

Isso envia o sinal SIGINT para arecord quando você pressiona qualquer tecla depois de iniciar a gravação.

    
por jobin 13.11.2013 / 08:11