关于bash脚本退出后终端会有乱码的问题修复

nixos

有时候ai写的 bash 脚本 在退出后 会出现 在终端按下字符后 显示一些特殊的字符

例如^[]11;rgb:0a0a/0a0a/1a1a^[\^[[27;1R^[[?65;4;6;18;22;52c

解决方法 之一 就是 捕获一下退出信号

bash
#!/usr/bin/env bash

# 1. 备份当前的终端设置
old_stty_cfg=$(stty -g)

cleanup() {
  # 2. 还原终端设置
  stty "$old_stty_cfg"
  # 3. 确保光标可见(防患未然)
  tput cnorm
  echo "终端状态已清理"
}
# 捕获各种退出信号
trap cleanup EXIT INT TERM

评论