如何讓 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以避免在按下時列印按鍵。

相關內容