Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
shell recording
# for spyshell
function zshexit() {
cat /Users/`whoami`/.termlogs/`date +%Y-%m-%d`.txt | perl -pe 's/\e([^\[\]]|\[.*?[a-zA-Z]|\].*?\a)//g' | col -b > temp
mv temp /Users/`whoami`/.termlogs/`date +%Y-%m-%d`.txt
exit
}
This will help you to record everything you input and all output from your terminal to a file, while you work on your terminal normally.
First, put spyshell in /usr/local/bin/
Add the line /usr/local/bin/spyshell in the file /etc/shells
Do `chsh -s /usr/local/bin/spyshell`
Add the zshexit function in your .zshrc file.
This will create a file in ~/.termlogs/ named with the date, and will append till the day is over. The output is also stripped from any non-printable characters.
You can modify it so that it launches bash, or any other shell, change the location of the logs, as well as the names.
credits: a gist I cannot find, and a lot googling..
#!/bin/bash
script="/usr/bin/script"
SHELL="/usr/local/bin/zsh"
if [ -z "$SPYSHELL" ]; then
export SPYSHELL=yes
$script -aq -t 0 /Users/`whoami`/.termlogs/`date +%Y-%m-%d`.txt
else
exec $SHELL
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.