History Commands
| Bash Unix Shell Scripting: | ||
|---|---|---|
| Localization | Sample .bashrc and .bash_profile Files | |
Appendix L. History Commands
The Bash shell provides command-line tools for editing and manipulating a user's command history. This is primarily a convenience, a means of saving keystrokes.
Bash history commands:
- 
history 
- 
fc 
| bash$ history
   1  mount /mnt/cdrom
    2  cd /mnt/cdrom
    3  ls
     ...
        | 
Internal variables associated with Bash history commands:
- 
$HISTCMD 
- 
$HISTCONTROL 
- 
$HISTIGNORE 
- 
$HISTFILE 
- 
$HISTFILESIZE 
- 
$HISTSIZE 
- 
$HISTTIMEFORMAT (Bash, ver. 3.0 or later) 
- 
!! 
- 
!$ 
- 
!# 
- 
!N 
- 
!-N 
- 
!STRING 
- 
!?STRING? 
- 
^STRING^string^ 
Unfortunately, the Bash history tools find no use in scripting.
| #!/bin/bash # history.sh # A (vain) attempt to use the 'history' command in a script. history # No output. var=$(history); echo "$var" # $var is empty. # History commands are, by default, disabled within a script. # However, as dhw points out, #+ set -o history #+ enables the history mechanism. set -o history var=$(history); echo "$var" # 1 var=$(history) | 
| bash$ ./history.sh
(no output)       
        | 
The Advancing in the Bash Shell site gives a good introduction to the use of history commands in Bash.