Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: command line history?

by almut (Canon)
on Dec 10, 2009 at 18:17 UTC ( #812264=note: print w/replies, xml ) Need Help??

in reply to command line history?

For bash:

#!/usr/bin/perl $hist = `bash -ic 'set -o history; history'`; print $hist;

(don't ask why set -o history and -i (i.e. interactive) are required... in theory, either option on its own should enable the history)

But note that although this prints a history, it might not be the history you're looking for (the one of the current shell instance that you run this Perl script from(?)). Rather, it's just the contents of the shell's history file (typically ~/.bash_history), which the new shell instance reads upon startup. This file holds whatever history log was last written to it (normally, when some interactive shell exits).  In other words, unless you execute history -w from within the current shell instance prior to running the script, you won't get the current status of its history buffer, which is being held in memory only, otherwise...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://812264]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2020-06-02 03:05 GMT
Find Nodes?
    Voting Booth?
    Do you really want to know if there is extraterrestrial life?

    Results (12 votes). Check out past polls.