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

目前,我仍然需要通过按 enter 来确认选择。是否可以直接使脚本响应第一个按键的输入?

read -n 1读取一个字符。但是,您不能将select与之一起使用,因此您必须自己编写while循环。

是的,使用bash(而不是sh!),您可以使用以下内容:

_KEY=
read -d '' -sn1 _KEY

相关内容

  • 没有找到相关文章