分页: 1 / 1

请问如何靠最右输出

发表于 : 2014-04-03 0:52
jackysc
RT 如何从右边输出 写了个脚本. 想像开机时那样 ok 靠最右边输出. .. 但是搜索了很久也没找到方法

Re: 请问如何靠最右输出

发表于 : 2014-04-03 1:18
YeLee

代码: 全选

cols=$(tput cols); printf "\ec\e[1;31m%${cols}s\e[1;0m\n" "[OK]"
:em01

Re: 请问如何靠最右输出

发表于 : 2014-04-03 2:06
youzhiyili

代码: 全选

printf "%60s\n" I "I LOVE" "I LOVE YOU"
                                                           I
                                                      I LOVE
                                                  I LOVE YOU

代码: 全选

printf "%60s\n" 可是 中文 为什么 不太对头呢
                                                      可是
                                                      中文
                                                   为什么
                                             不太对头呢

Re: 请问如何靠最右输出

发表于 : 2014-04-03 9:12
eexpress
右对齐,都是算出来的。
printf缺省可没支持编码解析。
最好的是perl的格式化输出,而且perl缺省使用utf8。

Re: 请问如何靠最右输出

发表于 : 2014-04-03 11:22
jackysc
我照二楼的试了一下 会清空屏幕再输出.... :em06
然后我还看不太懂.. 正在研究中

Re: 请问如何靠最右输出

发表于 : 2014-04-03 12:47
youzhiyili
jackysc 写了:我照二楼的试了一下 会清空屏幕再输出.... :em06
然后我还看不太懂.. 正在研究中
昨天我也试了二楼的方法,后来把红色部分去掉就可以了 :em06
cols=$(tput cols); printf "\ec\e[1;31m%${cols}s\e[1;0m\n" "[OK]"

代码: 全选

cols=$(tput cols); printf "\e[1;31m%${cols}s\e[1;0m\n" "[OK]"

Re: 请问如何靠最右输出

发表于 : 2014-04-03 12:49
youzhiyili
可是也同样出现问题:

代码: 全选

cols=$(tput cols); printf "\e[1;31m%${cols}s\e[1;0m\n" 好 很好 非常好
                                                                             好
                                                                          很好
                                                                       非常好

Re: 请问如何靠最右输出

发表于 : 2014-04-03 12:50
youzhiyili
不如楼主照4楼的思路试试?成功了顺便告诉小弟一声吧

Re: 请问如何靠最右输出

发表于 : 2014-04-04 11:20
jackysc
youzhiyili 写了:不如楼主照4楼的思路试试?成功了顺便告诉小弟一声吧

:em06 perl不会用啊... 只会一点python..
昨天不小心恢复了虚拟机的快照 原来的脚本还在重写..