#!/bin/bash# 清空终端命令历史的合规脚本# 仅清理当前用户的bash/zsh历史,无任何攻击行为# 检查是否为当前用户执行(避免root误操作其他用户)if["$(id-un)"="root"]&&[-n"$1"]&&["$1"!="--force-root"];thenecho"警告:root用户执行可能影响全局配置!"echo"若确认要清理root的历史,请执行:$0--force-root"exit1fi# 定义要清理的历史文件(覆盖bash/zsh主流终端)HIST_FILES=("$HOME/.bash_history"# bash默认历史文件"$HOME/.zsh_history"# zsh默认历史文件"$HOME/.sh_history"# 部分shell的历史文件"/tmp/history*"# 临时历史缓存)# 第一步:清空当前会话的历史缓存echo"正在清空当前会话的历史缓存..."history-c# 清空内存中的历史命令history-w# 写入空内容到历史文件(覆盖原有内容)# 第二步:清空历史文件(覆盖为空)echo"正在清理历史文件..."forfilein"${HIST_FILES[@]}";doif[-f"$file"];then>"$file"# 将文件截断为空(安全覆盖,无删除风险)echo"✅ 已清空:$file"elseecho"ℹ️ 文件不存在,跳过:$file"fidone# 第三步:刷新当前会话(确保生效)echo"正在刷新会话..."exec"$SHELL"-lecho"✅ 历史命令已全部清空!"chmod+x clear_history.sh ./clear_history.sh