我构建了一个小菜单,用于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
目前我还需要按输入确认选择。是否可以使脚本直接响应第一个按下的键的输入?
答案 0 :(得分:2)
read -n 1
读取一个字符。但是,您不能使用select
,因此您必须自己编写while
循环。
答案 1 :(得分:1)
是的,bash
(而非sh
!)你可以使用以下内容:
_KEY=
read -d '' -sn1 _KEY