免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3255 | 回复: 7

Shell下是否可以实现多行刷新? [复制链接]

论坛徽章:
0
发表于 2010-03-10 17:51 |显示全部楼层
本帖最后由 idealab 于 2010-03-11 00:16 编辑

请问各位,可不可以在shell命令行下让多行数据实现刷新?
例如以下五行数据:
=========================================
Playing <song_name>...
Artist: <artist_name>          Album: <album_name>
PubTime: <publish_time>    Publisher: <publisher_name>
=========================================
如何实现以上五个字段值的实时刷新呢?

若实时刷新单行数据,可以参考代码:
  1. while :;
  2. do
  3. #update the variables called in following command line.
  4.     echo -ne "Playing $song...\tArtist:$artist\tAlbum:$album\tPubTime:$pubtime\tPublisher:$publisher\r"
  5. done
复制代码
欢迎各位提出建议。

论坛徽章:
0
发表于 2010-03-11 16:03 |显示全部楼层
echo 里面的 -n本来就是取出换行的,试了下分成3行echo出来,还是不行。。

论坛徽章:
0
发表于 2010-03-11 16:09 |显示全部楼层
没看明白,不停的clear屏幕不行吗?

论坛徽章:
0
发表于 2010-03-11 17:28 |显示全部楼层
没看明白,不停的clear屏幕不行吗?
eeeef 发表于 2010-03-11 16:09


我给出的单行刷新代码就是不停的clear屏幕,但据我所知,这只能作用于当前行,没法clear之前的几行。
所以我想知道能不能刷新当前行之前的多行数据。

论坛徽章:
0
发表于 2010-03-11 17:30 |显示全部楼层
回复 4# idealab


    我的意思是在do的后面一行加上clear命令。

论坛徽章:
0
发表于 2010-03-11 17:36 |显示全部楼层
回复 2# narquelie


    对啊,如果用三个echo -ne "..." 的话,没有换行,当前行数据总会被下一个echo的数据刷新,所以最终只有最后一行数据在命令行中刷新。

论坛徽章:
0
发表于 2010-03-11 17:50 |显示全部楼层
回复 5# eeeef


    多谢eeef指点,加一条clear命令让每一次循环都清屏,果然可以实现。

论坛徽章:
0
发表于 2010-03-15 23:00 |显示全部楼层
回复 5# eeeef


    敢问高手另外一个问题:
在刷屏代码的前面我做了一个键盘绑定(bind -x '"\C-n":"moosic next"'),但不停的刷屏致使我敲击CTRL-N时命令moosic next没有执行。
我怀疑shell没有接收到我的CTRL-N输入(脚本结束后被绑定命令可以响应CTRL-N输入)。  请问,在不断刷屏的时候,我如何可以输入CTRL-N,来执行绑定的命令呢?
多谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP