在脚本中执行命令并在按下键时将其终止

时间:2015-03-30 09:57:43

标签: bash

我想写一个bash脚本来记录我的声音,直到我按下一个具体的键。我以为我可以使用这个命令

arecord -D hw -q -f cd -r 16000 speech.wav

从我的笔记本电脑麦克风录制并在进程被终止时停止,但我不知道如何编写bash代码来调用进程然后在按下具体键时将其终止。你能救我吗?

1 个答案:

答案 0 :(得分:0)

key="q"
arecord speech.wav &
pid=$!
while read -n1 char ; do
 if [ "$char" = "$q" ] ; then
  kill "$pid"
  break
 fi
done

$!符号是最后一份背景工作的补丁。 read builtin有-n开关,这个开关只能一次读取多个字符而不是一个完整的行。