在继续之前,请记住,我知道我可以通过设置菜单配置键盘快捷键,但这对我的最终目标没有用处。
我正在尝试创建一个简单的脚本来将单个按键作为输入,然后执行操作。理想情况下,我想在按下按键时执行命令up
。
虽然我可以集成,例如,x
关键如下:
echo "press key"
read -sn 1 key
if [ "$key" == "x" ]; then echo "x"; fi
我正在努力找出如何使用本示例中的up
密钥。 可以这样做吗?x
答案1
尝试这个:
#! /usr/bin/env bash
read -p "press key " -sn 1 key
#you can use -p "Message" instead of using echo "Message" before.
if [ "$key" == $'\x1b' ]; then
read -sn2 chars
if [[ $chars = '[A' ]];then
echo You pressed 'Up' key
fi
else
echo Pressed another key
fi
Up key
当您键入, Right key
, Left key
,等键时Down Key
,Fn+N
会生成字符串x1\b
。因此,您必须检查变量是否包含该字符串,如果是,那么您应该读取以下两个字符:
[A
用于向上键[C
用于右键[B
用于向下键[D
用于左键