shell版俄罗斯方块一:方向键获取

按键通常不是由单个字符构成:如方向键上(^[[A)、下(^[[B)、左(^[[C)、右(^[[D),退出键ESC(^[);方向键的前两个字符的表示方式和ESC的表示方法是一样的。

shell脚本如下:

#!/bin/bash#Program:#this is a program for test key#History:#Walker version:firstGetKey(){aKey=(0 0 0)cESC=`echo -ne "\033"` #注意,这不是单引号,,是ESC下面那个,里面的指令会先执行,并将结果赋值while :#':'表示永远为真doread -s -n 1 key #读取按键,每次只能读取一个ASCII字符echo $key#echo XXXaKey[0]=${aKey[1]}aKey[1]=${aKey[2]}aKey[2]=$keyif [[ ${aKey[0]} == $cESC && ${aKey[1]} == "[" ]]thenif [[ $key == "A" ]];then echo KEYUP#方向键判断elif [[ $key == "B" ]];then echo KEYDOWNelif [[ $key == "D" ]];then echo KEYLEFTelif [[ $key == "C" ]];then echo KEYRIGHTfifidone}GetKey

回味起来却有久久不会退去的余香。

shell版俄罗斯方块一:方向键获取

相关文章:

你感兴趣的文章:

标签云: