【问题标题】:Bash text absolute positioningBash 文本绝对定位
【发布时间】:2013-12-05 04:18:53
【问题描述】:
如何实现输出的绝对定位?与 Linux 首次启动时非常相似,您会看到以下内容:
Starting process blah blah blah [ OK ]
【问题讨论】:
标签:
bash
position
absolute
【解决方案1】:
您可以在/etc/init.d/functions 中查看许多 Linux 发行版中用于生成 [ OK ] 的代码
$ grep echo_ /etc/init.d/functions
echo_success() {
echo_failure() {
echo_passed() {
echo_warning() {
$
经过检查,您会看到这些函数使用ANSI escape sequences。
echo_success() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
...
return 0
}
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
【解决方案2】:
您可以使用“tput cup 10 10”将光标移动到所需位置。在这种情况下,第 10 列和第 10 行。
查看 tput 的手册页。
【讨论】:
-
-
-
可以通过:“tput cuf N”来完成。查看TLDP 的文档。该页面还包含很多示例,您还可以使用 tput 找出终端尺寸,因此使用该信息应该很容易。