मैंने इस वीडियो को पाइप शेंनिगन्स पर देखने के बाद निम्नलिखित कमांड की कोशिश की ।
man -k . | dmenu -l 20 | awk '{print $1}' | xargs -r man -Tpdf | zathura -
यह मूल रूप से उपयोगकर्ता के लिए मेन्यूज़ की सूची को उनमें से किसी एक का चयन करने के लिए man -Tpdf %
प्रिंट करता है, फिर यह xargs का उपयोग करता है (xargs के इनपुट से मैनपेज git के pdf को प्रिंट करने के लिए प्रिंट) और पीडीएफ रीडर से पीडीएफ पास करने के लिए (ज़थुरा) )।
समस्या यह है कि (जैसा कि आप वीडियो में देख सकते हैं) पीडीएफ रीडर शुरू होता है इससे पहले कि मैं dmenu में एक मैनपेज का चयन करूं। और अगर मैं Esc पर क्लिक करता हूं और कोई भी नहीं चुनता हूं, तो पीडीएफ रीडर अभी भी कोई दस्तावेज़ नहीं दिखा रहा है।
मैं पीडीएफ रीडर (और पाइप श्रृंखला में किसी भी अन्य कमांड) को केवल तभी चला सकता हूं जब उसका इनपुट एंड-ऑफ-फ़ाइल तक पहुंच जाए या जब उसे इनपुट प्राप्त हो जाए? या, वैकल्पिक रूप से, मैं जंजीर आदेशों में से एक के बाद एक गैर-शून्य निकास स्थिति (ताकि यदि dmenu एक विकल्प का चयन नहीं करने के लिए कोई त्रुटि देता है, तो निम्न कमांड नहीं चलाए जाते हैं) को रोकने के लिए एक पाइप श्रृंखला कैसे बना सकता हूं?
pipefail
कुसालंद के उत्तर में बताए गए विकल्प के कारण कौन सा खोल है ।