Если вы не против запустить команду еще раз: нажмите Upи добавьте xargs
команду. Или используйте подстановку истории и запустите
!! | xargs vim # won't work with file names containing \'" or whitespace
!! | xargs -d \\n vim # GNU only (Linux, Cygwin)
Существует легкий способ сохранить выходные данные команды, которая работает в ksh и zsh, но не в bash (для этого требуется, чтобы выходная сторона конвейера выполнялась в родительской оболочке). Труба команда в функцию K
(ЗШ определение ниже), в котором к ЭВЧ свой выходной сигнал в переменной $K
.
function K {
K=("${(@f)$(tee /dev/fd/3)}") 3>&1;
}
find … |K
vim $K
Автоматическое сохранение результатов каждой команды на самом деле невозможно только с помощью оболочки, вам нужно запустить команду в эмулируемом терминале. Вы можете сделать это, запустив внутри script
(утилита BSD, но доступная в большинстве устройств, включая Linux и Solaris), которая сохраняет весь вывод вашего сеанса через файл (для надежного обнаружения последнего приглашения в машинописном тексте все еще требуются некоторые усилия) ).