Mac OSX Terminal – Clear Oh My ZSH History

| | | |

If you have fallen in love with Oh My Zsh you likely have at one point realized it currently lacks the “history -c” option to clear your terminal history.

This code below will help with that.

#!/bin/sh

#  Clear_OhMyZsh_History.sh
#
#  Script to remove all history or select content
#
#  Created by David Kittell on 8/26/16.
#

file=~/.zsh_history

function KillApp
{
  appname=$1
  ps -ax | grep $appname | sed 's/^[ \t]*//' | cut -d " " -f1 | while read -r pid cmd ; do
    echo "Killing $pid"
    kill $pid
  done
}

if [ -e "$file" ]; then
  echo "File exists"
  echo "Clearing all history"
  rm -f $file && KillApp Term
else
  echo "File does not exist"
fi
All information on this site is shared with the intention to help. Before any source code or program is ran on a production (non-development) system it is suggested you test it and fully understand what it is doing not just what it appears it is doing. I accept no responsibility for any damage you may do with this code.