macOS पर bash ऑटो-कम्पलीशन
परिचय
Bash के लिए kubectl समापन स्क्रिप्ट kubectl completion bash
कमांड के साथ उत्पन्न की जा सकती है। आपके शेल में समापन स्क्रिप्ट को सोर्स करने से kubectl ऑटोकम्पलीशन सक्षम हो जाती है।```
हालाँकि, समापन की स्क्रिप्ट bash-completion पर निर्भर हैं जिसका अर्थ है कि आपको पहले इस सॉफ़्टवेयर को इंस्टॉल करना होगा।
अपग्रेड बैश
निम्नलिखित निर्देश मानते हैं कि आप बैश 4.1+ का उपयोग करते हैं। आप अपने बैश के संस्करण को यह चलाकर देख सकते हैं:
echo $BASH_VERSION
यदि यह बहुत पुराना है, तो आप Homebrew का उपयोग करके इसे इनस्टॉल/अपग्रेड कर सकते हैं:
brew install bash
अपने शेल को पुनः लोड करें और सत्यापित करें कि इच्छित संस्करण का उपयोग किया जा रहा है:
echo $BASH_VERSION $SHELL
Homebrew आमतौर पर इसे /usr/local/bin/bash
पर इनस्टॉल करता है।
इनस्टॉल bash-completion
आप type_init_completion
से सत्यापित कर सकते हैं कि क्या आपके पास bash-completion v2 पहले से इनस्टॉल है। यदि नहीं, तो आप इसे Homebrew से इनस्टॉल कर सकते हैं
brew install bash-completion@2
जैसा कि इस कमांड के आउटपुट में बताया गया है, अपनी ~/.bash_profile
फ़ाइल में निम्नलिखित जोड़ें:
export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d"
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
अपने शेल को पुनः लोड करें और type_init_completion
से सत्यापित करें कि bash-completion v2 सही ढंग से इनस्टॉल है।
kubectl ऑटोकम्पलीशन सक्षम करें
अब आपको यह सुनिश्चित करने की आवश्यकता है कि kubectl समापन स्क्रिप्ट आपके सभी शेल सत्रों (sourced) में प्राप्त हो जाए। इसे हासिल करने के कई तरीके हैं:
-
अपने कम्पलीशन स्क्रिप्ट को
~/.bash_profile
में सोर्स करें:echo 'source <(kubectl completion bash)' >>~/.bash_profile
-
कम्पलीशन स्क्रिप्ट को
/usr/local/etc/bash_completion.d
डायरेक्टरी में जोड़ें:kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl
-
यदि आपके पास kubectl के लिए एक नाम (alias) है, तो आप उस उपनाम के साथ काम करने के लिए शेल कम्पलीशन को बढ़ा सकते हैं:
echo 'alias k=kubectl' >>~/.bash_profile echo 'complete -F __start_kubectl k' >>~/.bash_profile
-
यदि आपने Homebrew के साथ kubectl इनस्टॉल किया है (जैसा कि यहां बताया गया है), तो kubectl कम्पलीशन स्क्रिप्ट पहले से ही
/usr/local/etc/bash_completion.d/kubectl
में होनी चाहिए। ऐसे में आपको कुछ भी करने की जरूरत नहीं है।
BASH_COMPLETION_COMPAT_DIR
डायरेक्टरी में सोर्स कर देता है। इसलिए आखरी दो तरीके काम करते हैं।