简单的控制台图形,GUI或来自Shell脚本的界面?

问题描述

| 我想通过做一些简单的,类似于ncurses的控制台显示来完善Bash shell脚本的输出。 例如,我想显示百分比值随着某些活动的完成而增加。我可以通过在新行上输出每个百分比值来做到这一点,例如,
0%
1%
2%
... etc. ...
但是我更喜欢文本更新(也就是说,脚本只写一行输出以显示百分比,然后该行上显示的百分比值改变)。我知道我可以使用其他脚本语言和ncurses,但是有没有一种Bash解决方案不会招致太多痛苦。最好,我希望在各种Unix上都具有广泛的支持。     

解决方法

        输出
\\r
将使光标返回第一列,以便您可以覆盖已经存在的文本。如果您需要更复杂的动作,则具有各种
cu*
功能的
tput
将允许您根据需要移动和放置光标。     ,        为了获得全面的通用性和可移植性,将使用“ 4”包。基本的“ 5”构架具有高度的可移植性。还有一个称为
gdialog
的Gtk + GUI版本。然后,您不仅可以选择所描述的内容,还可以选择实际的进度条小部件。 在更简单的方面,只需输出
\\r
(使用
printf
实用程序,或在older9ѭ或
echo ... \\r\\c
之一的较早的商业Unix上),您就可以覆盖一行。     ,        使用ANSI转义码来使用或着色光标。 这是python中的一个简短示例(使用-u标志运行它以进行无缓冲操作,因为否则您将看不到更新):
#!/usr/bin/env python

import time
import sys

for i in range (10):
    sys.stdout.write (\'%d\\x1b[1D\' % i)
    time.sleep (1)
CSInD(\'\\ x1b [1D \')将光标向左移动n个位置。如果您想使用彩色光标,只需打印例如\'\\ x1b [1; 31m \'。适用于几乎所有外壳。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...