मेरी .bashrc
फ़ाइल में इस आशय की एक पंक्ति है:
alias prog="/path/to/script.sh $(find $(pwd) -name prog)"
जब मैं इस लाइन पर टिप्पणी करता हूं, तो नया टर्मिनल खोलने पर बैश लगभग तुरंत शुरू हो जाता है। इस पंक्ति के साथ, मेरे कर्सर के प्रदर्शित होने से पहले 4-5 सेकंड की देरी है।
नेस्टेड कमांड $(pwd)
आदि को हटाने से इसे फिर से गति मिलती है। ये क्यों हो रहा है? क्या मैं अभी भी किसी तरह नेस्टेड कमांड का उपयोग कर सकता हूं?
find
? एक बार जब आप इसे स्थापित करते हैं, तो आप जानते हैं कि यह कहां है। यहां तक कि अगर आप इसे बार-बार अपडेट करते हैं और इसका नाम बदलते हैं, तो आप इसे एक प्रतीकात्मक लिंक बनाए रख सकते हैं, इसलिए यह हमेशा एक निश्चित नाम के तहत उपलब्ध है।
find
कमांड है, जो बूट समय पर निष्पादित होती है और निर्देशिका संरचना के आधार पर निष्पादित करने में लंबा समय ले सकती है। यदि आप सिंगल-का उपयोग करते हैं, तो डबल-कोट्स के बजाय,find
रन टाइम पर निष्पादित किया जाएगा, जबalias
इसे लागू किया जाता है। यह इस बात पर निर्भर करता है कि आप किस वर्किंग डायरेक्टरी का उपयोग करना चाहते हैं, वह घोषणा के समय या वर्तमान समय में है। वैसे$(pwd)
व्यक्त करने के लिए एक नहीं बल्कि अक्षम तरीका है.
या$PWD
।