我有点困惑,当我在 shell 上运行这个 showkey -a 命令时,该命令会运行并且我可以与它进行实时交互。
见下文
timeout 10 /usr/bin/showkey -a
Press any keys - Ctrl-D will terminate this program
t 116 0164 0x74
a 97 0141 0x61
s 115 0163 0x73
d 100 0144 0x64
f 102 0146 0x66
g 103 0147 0x67
j 106 0152 0x6a
f 102 0146 0x66
k 107 0153 0x6b
l 108 0154 0x6c
d 100 0144 0x64
现在,当我在 shell 脚本中添加此命令时,我看不到任何输出,或者换句话说,我无法与在脚本中运行的脚本或命令进行交互。
这是我的 bash 脚本。
#!/bin/bash
timeout 10 /usr/bin/showkey -a
exit 0
当我运行这个脚本时,它会等待 10 秒并退出到 shell。我怎样才能让它显示按下的键、代码并与用户交互。
我想要这个的原因是脚本在进行键盘测试之前必须执行许多任务,并且在键盘测试之后还有脚本执行的各种其他任务。我在任何地方都找不到任何答案,所以作为最后的手段,我不得不在这里问这个问题。我希望有人能帮帮忙。
该命令
showkey
从控制台设备读取。如果showkey
从子shell 开始,则必须重定向标准输入:如果您想使用
timeout
,只需允许命令showkey
从 TTY 读取并获取 TTY 信号: