内置的 TACL 历史命令只接受一个(可选)参数,它是要向您显示的旧命令的数量,因此您在示例中使用它并不明显。它还使用具有 1000 个字符的缓冲区的 #HISTORY。
假设您使用的是内置命令,您可以看到它是如何编写的,并编写您自己的 TACL 例程进行过滤。您必须重定向 #OUT 才能捕获输出。
这是现有命令的样子:
$AS ASHOME 3> outvar history
#FRAME
#PUSH :^lines
[#CASE [#ARGUMENT/VALUE :^lines/ NUMBER END]
|1| [#IF [#ARGUMENT END]]
|2| #SET :^lines 10
]
#HISTORY/SHOW :^lines/
#UNFRAME
因此,您可以按照以下方式做一些事情:
$AS ASHOME 4> #PUSH #OUT
$AS ASHOME 5> #SET #OUT a
$AS ASHOME 6> #HISTORY/SHOW 100/
$AS ASHOME 7> #POP #OUT
$AS ASHOME 8> #PUSH cmds
$AS ASHOME 9> FILETOVAR a cmds
$AS ASHOME 10> #OUTPUTV cmds
a
您现在在文件和 TACL 变量中都有历史记录,cmds
您可以根据需要对其进行处理。