What is this?¶

Shell history is useful. But it can be more useful if it logs more data points. For example, if you forget which make target to run for certain project, you’d want to search shell commands that are run in particular directory. Wouldn’t it be nice if you can do this?:

rash search --cwd . "make*"

RASH records many data points and they are stored in SQLite database. Here is a list of recorded information .

Current directory ( $PWD ). Exit code ( $? ) Exit code of pipes ( $PIPESTATUS / $pipestatus ) The time command is started and terminated. Environment variable ( $PATH , $SHELL , $TERM , $HOST , etc.) Real terminal. $TERM is used to fake programs. RASH can detect if you are in tmux, byobu, screen, gnome-terminal, etc. Session information. If you go back and forth in some terminals, RASH does not loose in which sequence you ran the commands in which terminal.

RASH also has interactive search interface. You can see the search result as you type. If you are using zsh, you can execute the result instantaneously.