使用任意键退出命令

使用任意键退出命令

以下是我所拥有的:

录制声音并在按下 ctrl+c 时退出的脚本

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

它会一直记录,直到我按下 ctrl+c

我想通过按任意键(最好是一次击键)来模拟 ctrl+c 操作

答案1

ctrl您可以在子 shell 中使用 stty,并将- 的设置更改为c任意值。在我的示例中,我将其更改为x。子 shell 结束或中断后,x设置将恢复为 ^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

即使你通过killall acroread设置终止该进程也会恢复。

答案2

假设你使用 bash 作为你的 shell(如果不是 bash,你可以在脚本的第一行更改 shell):

#!/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

这将发送SIGINT 信号arecord你按下任意键开始录音后。

相关内容