history(3tcl) Tcl Built-In Commands history(3tcl)

history - 操纵历史列表

history ?option? ?arg arg ...?

history 命令完成与记录在一个历史列表中的最近执行过的命令有关的一些操作中的一个。每个记录的命令被作为一个“事件”来参照。使用下列形式给 history 命令指定的一个事件:
[1]
一个数: 如果是正数,它用这个数来参照事件(所有事件多被从 1 开始计数)。如果是负数,它选择相对当前事件的一个事件(-1 参照上一个事件,-2 参照大上一个,以此类推)。事件 0 参照当前事件。
[2]
一个字符串: 选择匹配这个字符串的最新近的事件。在两种情况下一个事件被考虑为匹配这个字符串,要么这个字符串与这个命令的最前面的字符相同,要么这个字符串以与 string match 命令相同的方式匹配这个事件。

history 命令接受所有下列形式:

history
同于下面描述的 history info
history add command ?exec?
command 参数作为一个新事件添加到历史列表中。如果指定了 exec(或其缩写) 则还执行这个命令并返回它的结果。如果没有指定 exec 则返回一个空串作为结果。
history change newValue ?event?
把给一个事件记录的值替代(replace)为 newValueEvent 指定要替代的事件,缺省为当前 (current) 事件(不是事件 -1)。这个命令用在实现新形式的历史替换(substitution)的命令中,和用在想用通过替换建立的命令替代当前事件(调用这个替换的事件)的命令中。 返回值是一个空串。
history clear
删除历史列表。保持当前保留限制。重置历史事件数。
history event ?event?
返回由 event 给出的事件的值。 Event 缺省为 -1
history info ?count?
返回一个格式化了字符串(用于人们阅读),它给出在历史列表中除了当前事件之外的每个事件的事件号和内容。如果指定了 count,则只返回新近的 count 个事件。
history keep ?count?
使用这个命令来变更历史列表的大小为 count 个事件。最初,在历史列表中保留 20 个事件。如果未指定 count ,则返回当前的保留限制。
history nextid
返回要记录在历史记录中的下一个事件的号码。这对象在命令行提示符下输出事件号这样的事有用。
history redo ?event?
重新执行由 event 指示的命令并返回它的结果。Event 缺省为 -1。这个命令导致历史修订: 详情见下面的段落。

8.0 之前 的 Tcl 有一个复杂的历史修订机制。当前的机制受到了更多的限制,并且去除了老的历史操作 substitutewords 。(作为安慰,添加了 clear 操作。)

历史选项 redo 导致非常简单的“历史修订”。在调用这个选项的时候,修改最新近的事件来淘汰历史命令(的记录)并用历史命令的结果替换它。如果你打算重做一个事件而不修改历史列表,则使用 event 操作来检索某些事件,并使用 add 操作来向历史列表添加它并执行它。

event, history, record

寒蝉退士

2001/09/03

http://cmpp.linuxforum.net

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh
Tcl