Могу ли я получить полную историю команд из оболочки Perl pdl2 (например, историю в bash)? - PullRequest
3 голосов
/ 08 июля 2011

Я использую оболочку pdl2, как мне вывести список всех моих команд?

Ответы [ 2 ]

3 голосов
/ 10 июля 2011

Вы можете найти свою историю в $ 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 возвращает массив текущей истории. Это просто обычный массив, поэтому вы можете делать с ним все что угодно. Например, чтобы найти все последние операции с гистограммой, в которых используется пиддл с именем mypdl, вы можете сделать:

pdl> print join "\n", grep { /histogram/ && /mypdl/ } $PERLDL::TERM->GetHistory
1 голос
/ 22 апреля 2012

Из документации по 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.
...