Я часто использую find
или locate
чтобы узнать о путях.
(~) locate foobar.mmpz
/home/progo/lmms/projects/foobar.mmpz
Следующим шагом часто является открытие или иное манипулирование файлами. В счастливом случае, как выше, я могу сделать это:
(~) ls `!!`
ls `locate foobar.mmpz`
/home/progo/lmms/projects/foobar.mmpz
Но никто не слишком счастлив, когда есть много строк вывода, некоторые из которых могут не быть путями или чем-то еще в этом роде. Кроме того, повторный запуск потенциально расточительных команд тоже не так уж и элегантен.
Будет ли способ подключить zsh для хранения stdout в массиве для последующей манипуляции? В конце концов, задача оболочки - перенаправить потоки пользователю. Я думаю, что он может хранить первые N и последние N строк в переменной для немедленного последующего использования, как $?
и другие.
Итак, это очень круто: /unix//a/59704/5674 . Теперь я спрашиваю о ноу-хау zsh (и переносе кода на zsh) для настройки захвата такого типа после каждой строки выполнения.
screen
или, script
и крюков precmd и preexec.