2012-10-17 75 views
0

我建立了一個小菜單,在一個bash終端中使用,有多個選項可以通過數字鍵進行選擇。Bash腳本,迴應按鍵

#!/bin/bash 
PS3='Teleport to ... ' 
options=("→ option 1" "→ option 2" "Quit") 
select opt in "${options[@]}" 
do 
    case $opt in 
     "→ option 1") 
      echo "option 1" 
      break 
      ;; 
     "→ option 2") 
      echo "option 2" 
      break 
      ;; 
     "Quit") 
      break 
      ;; 
     *) echo invalid option 
      break 
      ;; 
    esac 
done 

目前我還需要確認按進入選擇。是否可以讓腳本直接響應第一個按鍵的輸入?

回答

2

read -n 1讀取一個字符。但是,您不能使用select,所以您必須自己編寫while循環。

1

是的,有bash(而不是sh!),你可以使用類似:

_KEY= 
read -d '' -sn1 _KEY