[color=#0000ff][size=6]方案一[/size][size=4] 使用tput 和 printf (最先想到的,回复之后顺便温习一下命令[/size][/color][color=#0000ff][size=4]用法.导致了其他方案的产生)
[/size][/color][size=4][color=#0000ff][color=#ff0000]tput cup 行数 列数(此时为0) ; printf %${COLUMNS}s
tput cup 行数 列数(此时为0) ; printf %$(tput cols)s[/color]
[/color][color=#0000ff][/color][/size]
[size=4][color=#ff0000]说明[/color][/size]
[size=3][color=#0000ff]$COLUMNS为小机的一个环境变量,保存了当前终端的总列数,$LINES则保存了总行数[/color][/size]
[size=4][color=#0000ff][size=3][color=#0000ff]tput cols可以查询终端总列数 tput lines查询总行数[/color][/size][/color][/size]
[size=4][color=#0000ff][size=3]printf %ns 打印n个空格[/size]
[/color][/size][size=4][color=#0000ff][size=6]方案二[/size] 纯tput(答出方案一后搜索tput用法时发现的)[/color][/size]
[size=4][color=#0000ff][color=#ff0000]tput cup 行数 列数 ; tput el (清除从光标到行尾的内容)
[/color][/color][/size]
[size=4][color=#0000ff]例子
tput cup 0 0 ; tput el[/color][/size]
[size=4][color=#7b7d72][/color][/size]
[color=#ff0000][/color][size=4][color=#0000ff]
[/color][/size][size=4][color=#0000ff][size=6]方案三[/size] 纯echo(今天上网时又看见讲echo的,因挂念vui,顺便看下,因为之前的问题,故对某些关键字--光标--颇为留意)[/color][/size]
[size=4][color=#ff0000]echo -ne "e[x[/color][/size][size=4][color=#0000ff][color=#ff0000]A""r""e[K"
[/color]
其中蓝色的x为数字,上移x行.
[/color][/size][size=4][color=#0000ff]如果要再删下面的一行
后面加上"n""e[K"
[size=4][color=#ff0000]说明[/color][/size]
e[xA 光标上移x行
e[K 清除从光标到行尾的内容
r 光标移到行首,不换行
n 光标移到行首,换行
[color=#ff0000]注意:[/color]
要加引号,要使用echo -ne选项,推荐此方案,因为echo为bash内建指令,运行速度超快...
同一行写多个命令需用分号间隔,不然bash会把后面的命令看做之前命令的参数
以上方案小机实测可行
[size=5][color=#ff0000]后记:[/color][/size]更多知识需要自己发掘,如有兴趣深入了解上面的命令,了解linux的乐趣,请google "linux 命令的名字"
[size=5][color=#ff0000]思考:[/color][/size]
1;小机实测上面命令时,如何可看到最佳效果
2;printf %ns可打印n个空格,若你不知道此命令,如何打印出 当前终端总列数 个空白来了呢
3;tput可以移动光标,那么echo是否可以实现呢?echo还可以彩色打印,tput呢?
[/color][/size][quote][b]补充内容(2017-03-21 16:57)[/b]
0000
63[/quote]