rlwrap: 让telnet支持命令历史

最近,cocos2d-x引擎增加了一个telnet远程调试器,用法很简单,先启动test Cpp Demo,然后打开终端,输入:

telnet localhost 5678

就连上testcpp内建的调试服务器了

目前支持的命令还不多,正在持续添加中。。。

但有一个问题,telnet终端不支持命令历史,在telnet里按键盘上下键,只会出现^[[A^[[B这样的乱码,这太不方便了。

我打算在服务端加个buffer,支持命令历史,但客户端怎么去掉乱码呢?貌似只有关闭回显了。在mac下,telnet回显是默认打开的...

google一下如何打开telnet回显,没找到...不过却让我意外发现了一个好东西:rlwrap

这是一个专门用来支持telnet历史命令的工具,用法如下,将启动telnet的命令改为:

rlwrap telnet localhost 5678

连接成功后,输入几个命令,再按键盘上下键,终端不再出现乱码,而是历史命令了~~爽


rlwrap可以通过macports安装

sudo port install rlwrap

没有装macports的童鞋,可以去官网上下载macports的安装包

http://www.macports.org/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"bash: rlwrap: command not found" 是一个错误提示,它表示在当前的 Bash 环境中找不到 rlwrap 命令rlwrap 是一个用于增强命令行交互体验的工具,它提供了 readline 功能,可以在命令行中使用上下箭头浏览历史命令、自动补全等功能。 要解决这个问题,你可以按照以下步骤进行操作: 1. 首先,确认你是否已经安装了 rlwrap。你可以在终端中运行以下命令来检查: ``` rlwrap --version ``` 如果没有安装 rlwrap,你可以使用包管理器(如 apt、yum、brew)来安装它。例如,在 Ubuntu 系统上,你可以运行以下命令来安装 rlwrap: ``` sudo apt-get install rlwrap ``` 2. 如果已经安装了 rlwrap,但仍然出现 "bash: rlwrap: command not found" 错误,那可能是因为 rlwrap 的可执行文件路径没有被正确地添加到系统的 PATH 环境变量中。你可以通过编辑 Bash 配置文件来解决这个问题。打开终端并运行以下命令: ``` nano ~/.bashrc ``` 3. 在打开的文件中,找到类似于下面这行的代码: ``` export PATH=$PATH:/path/to/rlwrap ``` 将 "/path/to/rlwrap" 替换为 rlwrap 可执行文件的实际路径。如果你不知道 rlwrap 的实际路径,可以使用以下命令来查找: ``` which rlwrap ``` 4. 保存文件并退出编辑器。然后,重新加载 Bash 配置文件,使更改生效: ``` source ~/.bashrc ``` 现在,当你再次运行 rlwrap 命令时,应该不会再出现 "bash: rlwrap: command not found" 错误了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值