मैं अक्सर उपयोग find
या locate
रास्तों के बारे में पता लगाने के लिए।
(~) locate foobar.mmpz
/home/progo/lmms/projects/foobar.mmpz
अगला चरण अक्सर फ़ाइलों को खोलने या अन्यथा हेरफेर करने के लिए होता है। ऊपर जैसे खुशहाल मामले में, मैं यह कर सकता हूं:
(~) ls `!!`
ls `locate foobar.mmpz`
/home/progo/lmms/projects/foobar.mmpz
लेकिन किसी को बहुत खुशी नहीं होती है जब आउटपुट की कई लाइनें होती हैं, जिनमें से कुछ रास्ते या उस तरह के कुछ और नहीं हो सकते हैं। इसके अलावा, संभावित रूप से बेकार के आदेशों को फिर से चलाना बहुत सुंदर नहीं है।
वहाँ बाद में हेरफेर के लिए एक सरणी में stdout स्टोर करने के लिए zsh को हुक करने का एक तरीका होगा? आखिरकार, यह उपयोगकर्ता के लिए स्ट्रीम को पुनर्निर्देशित करने के लिए शेल का काम है। मुझे लगता है कि यह पहले और अंतिम N लाइनों को एक चर में तत्काल बाद के उपयोग, जैसे $?
और अन्य के लिए संग्रहीत कर सकता है।
ठीक है तो यह बहुत अच्छा है: /unix//a/59704/5674 । अब मैं प्रत्येक रन लाइन के बाद इस तरह के कैप्चर को रिग करने के लिए zsh के बारे में जानता हूं (और कोड को zsh में पोर्ट कर रहा हूं)।
screen
या script
प्रेडम और प्रीक्सेक हुक का उपयोग कर सकते हैं ।