यदि आपको फिर से कमांड चलाने में कोई आपत्ति नहीं है: कमांड को दबाएं 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
(बीएसडी उपयोगिता, लेकिन लिनक्स और सोलारिस सहित अधिकांश यूनियनों पर उपलब्ध) कर सकते हैं, जो आपके सत्र के सभी आउटपुट को एक फ़ाइल के माध्यम से बचाता है (टाइपस्क्रिप्ट में अंतिम संकेत का दृढ़ता से पता लगाने के लिए अभी भी थोड़ा प्रयास करने की आवश्यकता है) )।