在AWS SSM连接中粘贴多行文本丢失换行符的问题求助
解决AWS SSM会话中多行粘贴丢失换行符的问题
我之前也碰到过一模一样的情况,SSM不管是网页UI还是终端插件,处理多行文本粘贴时的换行符逻辑确实和原生SSH有差异,给你整理了针对两种场景的具体解决办法:
针对AWS SSM网页UI
- 启用粘贴模式:进入SSM会话后,点击顶部的"Actions"菜单(部分界面是齿轮图标下拉选项),选择"Enable Paste Mode",启用后再粘贴多行文本,换行符就能正常保留了。
- 备选方案:执行
cat > target-file.txt命令,然后按Ctrl+V进入强制粘贴模式,粘贴完成后按Ctrl+D结束输入,这种方式也能确保换行符不丢失。
针对MacOS Monterey终端的SSM插件
- 先更新SSM插件到最新版本:旧版本大概率存在粘贴bug,根据你的安装方式执行对应命令更新:
# 若是AWS CLI自带的插件 aws ssm update-plugin # 若是Homebrew安装的 brew upgrade awscli awscli-plugin-ssm - 开启终端的括号粘贴模式:在连接实例前,先执行这条命令开启模式:
退出会话后可以用echo "\e[?2004h"echo "\e[?2004l"关闭该模式。开启后再粘贴多行文本,换行符会被终端正确识别。 - 用
cat命令配合粘贴:连接实例后,执行cat > your-file.txt,然后用Cmd+V粘贴文本,完成后按Ctrl+D保存,这种方式也能避免换行符丢失。 - 如果你用iTerm2替代原生终端:可以在「Profiles -> Terminal -> Terminal Features」里勾选"Allow bracketed paste",开启后默认就支持正确的多行粘贴。
验证方法
粘贴完成后,执行cat -A your-file.txt查看文件内容,正常的换行符会显示为$符号,以此确认格式是否保留完整。
内容的提问来源于stack exchange,提问作者damuz91
相关产品推荐
相关产品推荐

