Posted inlinux shell bash 工具
七 改进的菜单(一)
【动机】
上一篇的简易菜单, 至少存在以下两个明显缺点:
- 即使行分隔符和列分隔符均采用默认, 调用 kid_menu / kid_assign 时, 仍然需要键入分隔符, 比较繁琐;
- 调用代码的视觉(所见即所得)较差.
上一篇的简易菜单, 至少存在以下两个明显缺点:
linux shell 脚本常见的调试手法如下:
众所周知, 清屏采用 clear 命令即可. 只不过有时为了做一些后台进程加载, 或者纯粹为了提升一些用户体验, 可能需要将清屏的过程做一些修饰.
我们在执行大量 linux shell 脚本或命令时, 常常少不了超前打印一些提示或表示正在执行之类的文本, 为避免单调, 有时候需要将文本做一些右对齐或居中显示, 而如果不指定位置, echo / printf 默认只是在当前位置顺序打印.
在一些字符串的控制台对齐(例如居中对齐, 右对齐)输出的场景, 先决条件是计算其中每个字符的占宽(即在控制台中占几列), 以及控制台的总列数, 后者可以通过 tput cols 得到, 前者如果按 ${#str} 简单处理:
当入口 linux shell 脚本 main.sh, 在需要包含其他脚本的变量设置, 或者向当前会话添加其他脚本定义的函数等场景, 假设要 source 的文件分两部分, 分别位于项目文件夹以及公共的库文件夹下,一般采取以下形式(本文仅讨论不带参数的 source 语句):