मैं cd
अपनी आवश्यकताओं के अनुसार कमांड की कार्यक्षमता को अनुकूलित करना चाहता हूं।
मैंने निम्नलिखित कार्य को परिभाषित किया -
function cd () { cd "$@" && pushd "$@"; }
इस फ़ंक्शन का आशय स्वचालित रूप से निर्देशिका को स्टैक पर धकेलना है ताकि यह मुझे pushd .
हर बार मैन्युअल रूप से टाइप करने के प्रयास से बचाता है ।
हालांकि, उपरोक्त फ़ंक्शन एक असीम रूप से पुनरावर्ती फ़ंक्शन है, क्योंकि कॉल को फ़ंक्शन के रूप में cd
व्याख्या की जाती है और cd
अंतर्निहित नहीं है।
मैं cd
इस फ़ंक्शन में अंतर्निहित का संदर्भ कैसे दूं?
मुझे पता है कि उपनाम का उपयोग करके बच सकते हैं \
। फ़ंक्शंस से बचने या अधिक स्पष्ट तरीके से अंतर्निहित संदर्भ का तरीका क्या है?
नोट: मैं अपने कार्य का नाम किसी और चीज़ में नहीं रखना चाहता।
pushd
समर्थन नहीं करता है -P
। लेकिन आप सही हैं, जैसा कि प्रश्न में दिखाया गया है कि function cd
यह थोड़ा गलत है, क्योंकि इसने दो बार निर्देशिका बदल दी।
alias cd=pushd
? जब आप किसी ऐसी चीज की अपेक्षा करते हैं जो निरपेक्ष पथ (जैसे,cd ../
) नहीं है , तो आप क्या करेंगे ?