glenda.party
term% ls -F
term% pwd
$home/manuals/unix_v8/1/=
term% cat index.txt
=(1)                        General Commands Manual                       =(1)

NAME
       =, == - redo previous shell command

SYNOPSIS
       = [ pattern ] [ substitutions ]
       == [ pattern ] [ substitutions ]

DESCRIPTION
       The = command provides a simple history mechanism for the shell, sh(1).
       If  the  environment  variable HISTORY is set, it names a file to which
       the shell appends the text of each command before execution.   =  reads
       the  HISTORY  file for the first previous command matching the pattern,
       performs the substitutions, and executes it.  If no pattern  is  speci‐
       fied, the most recent command is selected.  If no substitution is spec‐
       ified, the command is executed without modification.

       The pattern matching works for literal text, and is anchored to the be‐
       ginning  of  the  command  line.  Adjacent arguments in the pattern are
       treated as one argument formed of the original argument  strings  sepa‐
       rated by spaces.

       Substitutions are of the form
            old=new
       specifying  that  the  string ‘old' in the command is to be replaced by
       ‘new.'  Substitutions are performed in the order given, and operate  on
       the single leftmost match in the command line.

       The  ==  command  is identical to the = command, but before running the
       command (and after substitutions) allows it to be edited.  The  command
       is  typed  out,  and  a modification request is read from the terminal.
       Generally each character in the request specifies  how  to  modify  the
       character  immediately  above it, in the original command, as described
       in the following table.

       #    Delete the above character.
       %    Replace the above character with a space.
       ^    Insert the rest of the request line before the above character.
       $    Delete the characters in the command from this  position  on;  re‐
            place them with the rest of the request line.
       space or tab
            Leave above character(s) unchanged.
       =    as  the first and only edit character. Back up to the prior occur‐
            rence of the pattern in the history file; this  may  be  iterated,
            and the displayed lines will be unique.
       any other
            This character replaces the one above it.

       If  the  request line is longer than the command, the overhang is added
       to the end of the command  without  interpretation,  that  is,  without
       treating ‘#', ‘%', ‘^' or ‘$' specially.  Any characters after a ‘^' or
       ‘$' request are not interpreted either.

       While correlating character positions, the editor will not process con‐
       trol characters other than tab and newline.

       The  tab  character prints as a sequence of spaces, and may be modified
       as if it were that sequence.  As long as the last space is  unmodified,
       it and the remaining contiguous spaces will represent a tab.

       The  history mechanism performs best if each login terminal uses a dif‐
       ferent HISTORY file.  The following commands accomplish this.

              HISTORY=$HOME/hist/`basename \`tty\``
              >$HISTORY
              export HISTORY

                                                                          =(1)