免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5451 | 回复: 18
打印 上一主题 下一主题

自己写的shell 不支持命令行粘贴 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-15 16:44 |只看该作者 |倒序浏览
自己做的一个项目,用自己的写的cmd_shell替换了linux的bash,嵌入式linux系统启动后直接进入我自己的cmd_shell,执行特定的命令,遇到了个问题是不支持命令的粘贴,也就是好几条命令先写在记事本上,一行一条命令,以回车隔开,直接复制粘贴到cmd_shell里面执行。
例如我在记事本上面写了三条命令,(括号内不是实际内容)

show clock                      (显示时间   括号内不是实际内容)
show version                  (显示版本信息)
show session                  (显示会话信息)

一秒钟粘贴一次的话,每次只能执行第一条命令,其他的命令执行不了,
在粘贴速度非常快的情况下,(按住粘贴键不放手),有的时候会执行第一条,有的时候会执行第二三条其中之一。
退回到linux下是正常的如把下面三条命令一起复制
ls -al
cd /
ll
然后粘贴到bash里面,会顺序执行三条命令,想请教下高手能给这个问题定位吗?到底是什么地方出了问题?或者需要看什么书?加一些信号量?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2009-05-15 17:08 |只看该作者
用手直接敲能连续执行么?

论坛徽章:
0
3 [报告]
发表于 2009-05-15 17:46 |只看该作者
用键盘逐条敲进去执行是没有问题的,现在就像做成跟bash或者思科的路由器一样,支持多条命令写在记事本上,一下子粘进去执行

论坛徽章:
0
4 [报告]
发表于 2009-05-15 17:51 |只看该作者
ls -al && cd / && ls -lh 这样试下不需要一个一个输入了。

论坛徽章:
0
5 [报告]
发表于 2009-05-18 09:17 |只看该作者

回复 #4 只爱睡觉 的帖子

类似思科的路由器,有成百上千条配置语句,在一个路由器上的配置我想同样的配置到其他多台路由器上面,如果有一个记事本把配置命令都写好,只需要复制粘贴就能统一管理多台设备了。
可惜现在不能实现命令行的粘贴,自己的shell是出了什么问题呢?是不是需要仔细研究下bash的源代码?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
6 [报告]
发表于 2009-05-18 11:16 |只看该作者

回复 #3 ddwwunix 的帖子

用键盘敲没问题说明是你的终端对粘贴解释的不对

论坛徽章:
0
7 [报告]
发表于 2009-05-19 09:39 |只看该作者
单独复制一行命令加一个回车,如
ls(回车)

是没有问题的,终端用的SecureCRT ,直接串口登录到linux的bash上面,是支持多行粘贴的。
我现在的做法是在linux启动阶段,用自己的cmd_shell替换了mingetty不用登陆,直接进自己的cmd_shell,以前曾经碰到过不能换行显示的问题,后来发现是没有获取到正确的终端类型,加了一句TERM=ansi就搞定了,现在到底问题是处在哪里呢?

waker能不能说详细一点?谢谢!

论坛徽章:
0
8 [报告]
发表于 2009-05-19 12:37 |只看该作者
试过emulation 设成xterm吗?。。。。。

论坛徽章:
0
9 [报告]
发表于 2009-05-19 14:21 |只看该作者
你说的是把会话选项》终端》仿真》设置为Xterm吧
试过了 不行

现在情况说明如下,
有三条命令
show clock(显示时间)(回车)
show version(显示版本信息)(回车)
display current-configuration(显示现在设置)(回车)

复制上面的内容,往我的cmd_shell里面粘贴,执行情况是
UsrName#show clock
show version
14:08:07 LOC Tue 2009/5/19display running-configuration
也就是说仅仅执行了第一条命令,而且第二三条命令都没有执行,而且显示的顺序也是混乱的

论坛徽章:
0
10 [报告]
发表于 2009-05-19 14:52 |只看该作者
record script 然后再run 可以正常运行吗?。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP