记一次嵌入式linux的串口console控制台中运行bash时长行回绕导致覆盖行首问题的解决方法

嵌入式Linux使用bash的必要性

一直以来嵌入式ARM linux的默认shell多数是busybox自带的ash,该shell可以看做是bash的裁剪版本,仅支持bash的部分功能。虽然ash可以胜任日常嵌入式开发的绝大多数任务,但它缺失的一个功能导致我一直对它抱有不满,这个功能就是bash自带的按键绑定(bind)功能,以下.bashrc的配置是我在ubuntu开发环境的必备配置,这个配置带来的好处那真的是life change类型的,谁用谁知道!

    # 加快历史命令搜索(键入几个命令开头字母,使用上翻建即可实现快速查找以这些字母开头的所有历史记录!)
    bind '"\e[A":history-search-backward'
    bind '"\e[B":history-search-forward'

bash存在的问题

为了能够实现在嵌入式开发板中也使用这个异常好用的特性,很早之前我就开始习惯于在开发板上交叉编译bash并将其设置为默认的shell使用。以前的开发板多数是带网口的,日常开发基本都是telnet/ssh远程登录到开发板终端,这种方式使用bash没有任何问题。

不过最近搞的几个项目的开发板全都没有带网口,导致我不得不在开发时使用串口登录到linux内核的console终端上进行日常开发调试。这么一用就弄了一个奇怪的问题,问题描述如下:
当bash作为console控制台的默认shell时,一条命令如果过长需要回绕时并不会自动换行并且总是会覆盖行首已经存在的字符, 截图如下:

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值