2012-10-17 77 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