which
आदेश रिटर्न केवल निष्पादनयोग्य: यह, उपनाम के बारे में कुछ भी नहीं जानता है, क्योंकि यह एक बाहरी कार्यक्रम है, और वहाँ एक बच्चे की प्रक्रिया के रूप में नामित जानकारी पारित करने के लिए कोई तंत्र है।
यदि आप कमांड दर्ज करते हैं तो आप type -a cp
वरीयता के क्रम में सभी संभावित व्याख्याएं देखेंगे। इसमें कोई अन्य उपनाम शामिल है, क्योंकि type
एक bash
आंतरिक कमांड है।
यह महसूस करना महत्वपूर्ण है कि एक उप-प्रक्रिया द्वारा एक उपनाम की व्याख्या नहीं की जाएगी, जैसे कि एक स्क्रिप्ट या एक इंटरैक्टिव संपादक जो सिस्टम कमांड चलाने का एक विकल्प है।
यदि आप cp
कोई फ़ंक्शन करते हैं, तो आपका संस्करण स्क्रिप्ट में चलेगा, हालांकि अन्य कार्यक्रमों से नहीं:
cp() { /usr/local/bin/gcp "$@"; }
यदि आप चाहते हैं कि आपका cp
काम हर जगह हो, तो $HOME/bin
अपनी PATH
सूची के प्रमुख को जोड़ें और $HOME/bin/cp
उसे इंगित करें:
ln -s /usr/local/bin/gcp $HOME/bin/cp
यह एक प्रतीकात्मक लिंक बनाता है, हालांकि आप इसे थोड़ा और अधिक कुशल हार्ड लिंक (omit -s
) बना सकते हैं, लेकिन इसके लिए सामान्य रूप से रूट अनुमतियों ( sudo ln ...
) की आवश्यकता होगी । फ़ंक्शन बनाना और PATH
वैरिएबल में जोड़ना bash
उपयोगकर्ता अनुमतियों के साथ स्टार्ट-अप स्क्रिप्ट में से एक में किया जाएगा ।
PATH
।