我正在使用 pdl2 shell,如何列出我的所有命令历史记录?
问问题
296 次
2 回答
3
您可以在 $HOME/.perldl_hist 中找到您的历史记录
这可能取决于也可能不取决于是否安装了 Term::ReadLine::Gnu(我默认安装了)。
如果您想在 中访问您的历史记录pdl
,则只需使用向上箭头键执行前面的命令,或输入 ^R (control-r) 然后输入您要搜索的文本(重复按 ^r 以获取更远的匹配项) .
$ pdl
perlDL shell v1.354
...blah blah blah...
pdl> print 1+1
2
pdl> print 2+2
4
pdl> quit
$ cat ~/.perldl_hist
print 1+1
print 2+2
$
编辑:要从内部 pdl
查找历史记录,请执行以下操作:
$ pdl
pdl> print join "\n", $PERLDL::TERM->GetHistory
返回当前历史记录的$PERLDL::TERM->GetHistory
数组。它只是一个常规数组,所以你可以用它做任何你喜欢的事情。例如,要查找所有最近涉及名为 的 piddle 的直方图操作mypdl
,您可以执行以下操作:
pdl> print join "\n", grep { /histogram/ && /mypdl/ } $PERLDL::TERM->GetHistory
于 2011-07-10T07:22:21.960 回答
1
从 PDL 文档(即,pdldoc perldl
):
History mechanism
If you have the perl modules ReadLines and ReadKeys installed, then
perldl supports a history and line-editing mechanism using editing keys
similar to emacs. The last 500 commands are always stored in the file
.perldl_hist in your home directory between sessions. Set
$PERLDL::HISTFILESIZE to change the number of lines saved. The command
"l [number]" shows you the last "number" commands you typed where
"number" defaults to 20.
于 2012-04-22T04:54:53.877 回答