-
Notifications
You must be signed in to change notification settings - Fork 310
History
The history
command is your primary interface to PsySH history. With this command, you can show, search, save or replay your shell history.
When invoked without options, the history
command shows all PsySH history. If there’s a lot of it, the output will be paged.
>>> hist
0: function z() { throw new RuntimeException; }
1: function y() { z(); }
2: function x() { y(); }
3: x()
4: wtf
>>>
Show only a slice of history using the --show
option: --show 3
will show a single line, --show 1..3
will show a range, and --show 3..
will show from the third to the last line of your history.
>>> hist --show 1..3
1: function y() { z(); }
2: function x() { y(); }
3: x()
>>>
The --head N
and --tail M
options show the first N
lines and the last M
lines, respectively.
>>> hist --head 3
0: function z() { throw new RuntimeException; }
1: function y() { z(); }
2: function x() { y(); }
>>> hist --tail 2
3: x()
4: wtf
>>>
Use the --grep
option to filter your history.
>>> hist --grep wtf
4: wtf
>>>
Use -i
to do a case-insensitive search, and -v
to show only lines which don’t match the search pattern.
>>> hist --grep WTF -i -v
0: function z() { throw new RuntimeException; }
1: function y() { z(); }
2: function x() { y(); }
3: x()
>>>
The --grep
search pattern can be a Perl-compatible regular expression as well.
>>> hist --grep /\{.*\}/
0: function z() { throw new RuntimeException; }
1: function y() { z(); }
2: function x() { y(); }
>>>
Replay your history with the --replay
option. This works best when combined with --show
, --head
, --tail
and --grep
.
>>> hist --head 3 --replay
Replaying 3 lines of history
--> function z() { throw new RuntimeException; }
--> function y() { z(); }
--> function x() { y(); }
>>> function_exists('x')
=> true
>>>
Save your PsySH history to a local file with the --save FILENAME
option. You can combine this with --show
, --head
, --tail
and --grep
options to limit the slice of history saved.
>>> hist --head 3 --save history.txt
Saving history in history.txt...
History saved.
>>>
Clear your history with the --clear
option.
>>> hist --clear
History cleared.
>>> hist
>>>