मैं अक्सर किसी कमांड के 'बिट्स' का किसी प्रकार का उपनाम / प्रतिस्थापन चाहता हूं।
ex: मैं "bkg" को "2> / dev / null> / dev / null &" में अनुवाद करना चाहता हूं, ताकि मैं बैकग्राउंड में एप्लिकेशन चला सकूं और उनके आउटपुट में जैसे कंसोल नहीं है:
nautilus . bgk
>>>
nautilus . 2> /dev/null > /dev/null &
अब तक काम करने के लिए मुझे जो निकटतम चीज़ मिली वह निम्नलिखित है:
1) उपनाम बनाएं:
alias bkg="&> /dev/null > /dev/null &"
2) कमांड लिखने से पहले, उपनाम टाइप करें और पहले इसे ctrl + alt + e के माध्यम से विस्तारित करें , फिर वापस जाएं और कमांड टाइप करें।
bkg #press ctrl+alt+e
&> /dev/null > /dev/null & #has expanded. Now go back and type cmd:
nautilus &> /dev/null > /dev/null &
हालांकि, यह कुछ हद तक बोझिल है।
[संपादित करें] ZSH के पास वैश्विक उपनाम हैं। यह वही है जो मुझे चाहिए। लेकिन रीडिंग से यह प्रतीत होता है कि zash पूरी तरह से बैश स्क्रिप्ट के अनुकूल नहीं है। ऐसा लगता है कि वैश्विक परिवर्तन के लिए केवल zsh पर स्विच करना लेकिन बैश स्क्रिप्ट को तोड़ना संभव नहीं है। जैसे, बैश-देशी समाधान की तलाश।
[संपादित करें]
@ एंगमोंट के सुझाव के अनुसार, एक उपनाम को परिभाषित करने के लिए मुझे जो कुछ भी चाहिए वह है:
alias quiet="&> /dev/null "
तब मैं इसका उपयोग कर सकता हूं:
quiet nautilus . &
हालाँकि, दो मुद्दे: "और" अंत में होना चाहिए और 'शांत' टाइप होने के बाद टैब-भविष्यवाणी काम नहीं करती है।