如何让 bash 在按下时而不是按下 ENTER 后读取“按下的键”

如何让 bash 在按下时而不是按下 ENTER 后读取“按下的键”

根据我有限的知识,我不确定我是否为这个问题写了正确的标题。
无论如何,我想知道 bash 如何检测按下的键并根据脚本结构执行某些操作,
直到现在我知道read somthing ; do_somthing_to $something
我想要一个类似于以下内容的脚本:

#!/bin/bash
while read a
  do
    echo "$a pressed"
  done

但我希望它在发稿时给我结果(它不应该等我按回车键)!

谢谢!

答案1

您可以使用 指定要读取的字符数-n。所以,就你而言:

#! /bin/bash
read -n1 a
echo "$a pressed"

您可能需要包含-s以避免在按下时打印按键。

相关内容