Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022

history (1t)


history - Manipulate the history list


history ?option? ?arg arg ...?


history(1t)                  Tcl Built-In Commands                 history(1t)


       history - Manipulate the history list

       history ?option? ?arg arg ...?

       The  history  command  performs  one  of  several operations related to
       recently-executed commands recorded in a history list.  Each  of  these
       recorded  commands  is  referred  to as an "event".  When specifying an
       event to the history command, the following forms may be used:

       [1]    A number:  if positive, it refers to the event with that  number
              (all events are numbered starting at 1).  If the number is nega-
              tive, it selects an event relative  to  the  current  event  (-1
              refers  to the previous event, -2 to the one before that, and so
              on).  Event 0 refers to the current event.

       [2]    A string:  selects  the  most  recent  event  that  matches  the
              string.   An  event  is considered to match the string either if
              the string is the same as the first characters of the event,  or
              if the string matches the event in the sense of the string match

       The history command can take any of the following forms:

              Same as history info, described below.

       history add command ?exec?
              Adds the command argument to the history list as  a  new  event.
              If  exec  is specified (or abbreviated) then the command is also
              executed and its result is returned.  If exec is  not  specified
              then an empty string is returned as result.

       history change newValue ?event?
              Replaces  the  value recorded for an event with newValue.  Event
              specifies the event to replace,  and  defaults  to  the  current
              event  (not event -1).  This command is intended for use in com-
              mands that implement new forms of history substitution and  wish
              to  replace  the  current event (which invokes the substitution)
              with the command created through substitution.  The return value
              is an empty string.

       history clear
              Erase  the  history  list.   The current keep limit is retained.
              The history event numbers are reset.

       history event ?event?
              Returns the value of the event given by event.   Event  defaults
              to -1.

       history info ?count?
              Returns  a formatted string (intended for humans to read) giving
              the event number and contents for each of the events in the his-
              tory  list except the current event.  If count is specified then
              only the most recent count events are returned.

       history keep ?count?
              This command may be used to change the size of the history  list
              to  count events.  Initially, 20 events are retained in the his-
              tory list.  If count is not specified, the current keep limit is

       history nextid
              Returns  the number of the next event to be recorded in the his-
              tory list.  It is useful for things like printing the event num-
              ber in command-line prompts.

       history redo ?event?
              Re-executes  the  command  indicated  by  event  and returns its
              result.  Event defaults to -1.  This command results in  history
              revision:  see below for details.

       Pre-8.0  Tcl  had  a  complex  history revision mechanism.  The current
       mechanism is more limited, and the old  history  operations  substitute
       and  words  have  been removed.  (As a consolation, the clear operation
       was added.)

       The history option redo results in  much  simpler  "history  revision".
       When  this  option is invoked then the most recent event is modified to
       eliminate the history command and replace it with  the  result  of  the
       history  command.   If you want to redo an event without modifying his-
       tory, then use the event operation to retrieve some event, and the  add
       operation to add it to history and execute it.

       event, history, record

       See attributes(7) for descriptions of the following attributes:

       |Availability   | runtime/tcl-8    |
       |Stability      | Uncommitted      |

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  http://prdownloads.sourceforge.net/tcl/tcl-

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.

Tcl                                                                history(1t)