不同 shell 导致的键盘响应问题

不同 shell 导致的键盘响应问题_第1张图片
bash

一、现象

使用 docker 安装了 Ubuntu 16.04 镜像:

docker pull ubuntu:16.04

启动容器并进入终端环境:

docker run -it ubuntu:16.04 sh

不同的 Linux 系统对于 sh 命令执行的 shell 环境不一致,例如上述命令最终执行的是 dash 环境,这时候终端对于键盘操作有不同的响应:

退格键 backspace 变成了 ^H

插入键 insert 变成了 ^[[2~

删除键 delete 变成了 ^[[3~

.......

键盘响应

二、解决方案

这时,只要选择用 bash shell 就可以恢复到正常环境:

使用 bash

或者在启动 docker 容器的时候就指定 bash

docker run -it ubuntu:16.04 bash

三、总结

不同系统默认的 sh 命令执行的 shell 可能不一致,而不同的 shell 环境对于键盘操作的响应不一致。


(还有疑问?联系作者 微博/微信 @Ceelog)

你可能感兴趣的:(不同 shell 导致的键盘响应问题)