Bash को स्क्रिप्ट को /opt/local/etc/bash_completion.d/ पर न चलाएं


8

मैं git कमांड के लिए बैश आटोक्लेम्पशन करना चाहता था, इसलिए मैंने एक bash स्क्रिप्ट फ़ाइल को छोड़ दिया /opt/local/etc/bash_completion.d/

जब मैं एक नया टर्मिनल खोलता हूं, तो स्क्रिप्ट फ़ाइल /opt/local/etc/bash_completion.d/निष्पादित नहीं होती है। मैंने सत्यापित किया है कि स्क्रिप्ट फ़ाइल चल रही है:

source /opt/local/etc/bash_completion.d/git-completion.bash

क्या ओएस एक्स को स्वचालित रूप से स्क्रिप्ट को निष्पादित करने के लिए कहने के लिए यहां कोई कदम गायब हैं /opt/local/etc/bash_completion.d/?

जवाबों:


8

किसी निर्देशिका से सभी स्क्रिप्ट को स्वचालित रूप से लोड करने के लिए, इसे अपनी ~/.bashrcफ़ाइल में रखें

# LOAD ALL AUTOCOMPLETIONS IF ANY ARE INSTALLED
if [ -d /usr/local/etc/bash_completion.d ]; then
    for F in "/usr/local/etc/bash_completion.d/"*; do
        if [ -f "${F}" ]; then
            source "${F}";
        fi
    done
fi

3

हां, आपको उन्हें अपने शेल में लोड करने की आवश्यकता है।

यह संपादन ~/.bashrcया प्रत्येक फ़ाइल के लिए ~/.bash_profileकमांड जोड़कर किया जाता है . filename। यह फ़ाइल को लोड करता है और कार्यों को उपलब्ध कराता है। यानी इनमें से किसी एक फाइल में अपना सोर्स कमांड डालें।

ध्यान दें कि आपको /opt/local/etc/bash_completion.d/केवल macports के रूप में नहीं लिखना चाहिए। अपने घर निर्देशिका में फ़ाइलों को रखो~/.bash_completion.d/git-completion.bash

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.