问题描述

最近经常遇到个很奇怪的问题,当我使用 ssh 登录到本地虚拟机,复制长命令到命令行终端的时候,发现命令总是会被截断,比如当我想复制curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm这条命令到终端,结果会变成下面这个样子
在这里插入图片描述
可以看到,命令被截断了,而且左边的用户信息([huangxy@stone ~])不见了

系统版本:macOS 12.0.1
终端:iterms2

问题排查

可能导致该问题的地方有两个,iterms2 或 ssh

排查 iterms2

在 iterms2 中创建新的窗口,可以正常复制命令
在这里插入图片描述

排查 ssh

使用 ssh 登录到虚拟机,可以正常复制命令
在这里插入图片描述
测试发现 iterms 跟 ssh 都没有问题,那么该问题有可能是另外的原因导致的。因为我用的是 iterms 的 profiles 创建的 ssh 会话,那么有没有可能是会话创建脚本的问题呢?排查发现,我在会话创建脚本中使用的是 expect 进行交互
在这里插入图片描述

在这里插入图片描述
将其修改为 ssh 试一试
在这里插入图片描述
改为 ssh 后,该问题得以解决

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐