Якщо ви не проти запустити команду ще раз: натисніть 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
Введіть команду у функцію (zsh визначення нижче), яка k видає свій результат у змінній $K
.
function K {
K=("${(@f)$(tee /dev/fd/3)}") 3>&1;
}
find … |K
vim $K
Автоматичне збереження виводу кожної команди насправді неможливо лише з оболонкою, потрібно запустити команду в емуляційному терміналі. Це можна зробити, запустивши всередину script
(утиліта BSD, але доступна в більшості об'єктів, включаючи Linux та Solaris), яка зберігає весь результат вашого сеансу через файл (потрібно ще трохи зусиль, необхідних для надійного виявлення останнього підказки в машинописі ).