我正在尝试为mac os创建一个别名,以删除一些以前敏感的历史命令
我试过了
对于$中的h(历史|grep“msql”|awk '{print $1-N}');return $h ;完成;
作品
$中的h(历史|grep“msql”|wk '{print $1-N}');do历史-d $h ;完成;
-bash:history:468:历史位置超出范围
编辑
此命令在Ubuntu上100%工作
for h in $(history | grep "msql" | awk '{print $1-N}' | tac) ; do history -d $h ; done; history
我只是好奇为什么它不能在OSX上运行
2条答案
按热度按时间klh5stk11#
我不会自动处理一次性问题。据推测,手动删除敏感的历史记录条目所需的时间不到5分钟。下面我将介绍如何防止它们在未来发生。
1.使用grep在历史记录中查找特定行,并使用
history -d
删除历史记录中的特定行:1.任何以一个空格开头的命令都不会包含在bash历史中。
HISTIGNORE
是一个以冒号分隔的模式列表,用于决定哪些命令行应保存在历史记录列表中。修改bash历史记录以忽略未来的xyz命令,方法是将其添加到.bashrc
或.bash_profile
中:1.禁用当前shell的历史记录。
1.完全清除指挥历史。
ijxebb2r2#
~/.zsh_history
。如果你使用bash,那么它应该是~/.bash_history
~/.zsh_history
。删除要删除的所有命令。