终端编程:按键、历史记录、鼠标交互全解析
1. 终端绘图与脚本基础
在终端屏幕上绘图有多种方式,即使不涉及传统的 ASCII 艺术,也能实现丰富的效果。以下是一些相关的练习示例:
- hbar 函数 :接受宽度和颜色两个整数参数,打印指定颜色和宽度的条形。
- hbar_at 函数 :接受行、列、宽度和颜色四个参数,将光标移动到指定的行和列,然后调用 hbar 函数。
- clear_area 函数 :接受行和列两个整数参数,清除指定行数和列数的矩形区域。
2. Bash 入门编程优势
Bash 在交互式编程方面具有显著优势,其对 read 内置命令的扩展选项,结合历史记录和 readline 库,提供了其他 POSIX 外壳无法比拟的功能。然而,Bash 在处理生成多个字符的按键(如功能键)时仍存在挑战。为解决这一问题,引入了 key - funcs 函数库。
3. 单键输入处理
在编写交互式脚本时,有时希望用户按下单个键而无需按 Enter 键。可移植的方法是使用 stty 和 dd:
stty -echo -icanon min 1
_KEY=$(dd count=1 bs=1 2>/dev/null)
stty echo icanon
不过,每次按键都使用三个外部命令有些繁琐。更常见的做法是在脚本开始时调用一次 stty,在结束时再调用一次,通常使用 EXIT 陷
超级会员免费看
订阅专栏 解锁全文
764

被折叠的 条评论
为什么被折叠?



