मुझे zsh के लिए पर्यावरण-निर्भर कॉन्फ़िगरेशन कहां रखना चाहिए?


1

मेरे पास github पर एक रिपॉजिटरी है जिसमें मेरी अधिकांश फाइलें शामिल हैं, जैसे फाइलें .zshrc

जब मुझे एक नए विकास के माहौल में जाने की आवश्यकता होती है, तो मुझे बस अपनी डॉट फ़ाइलों को गितुब से खींचने और यह सुनिश्चित करने की आवश्यकता होती है कि वे सही स्थानों पर हैं।

लेकिन कभी-कभी नया वातावरण पुराने से काफी अलग होता है, उदाहरण के लिए, मुझे मैकओएस से लिनक्स के कुछ वितरण के लिए स्थानांतरित करने की आवश्यकता हो सकती है।

ये अंतर मेरे कॉन्फ़िगरेशन को गलत तरीके से प्रस्तुत कर सकते हैं, इसलिए मैं सोच रहा हूं कि क्या मैं उन सभी पर्यावरण-निर्भर कॉन्फ़िगरेशन को बाहर कर सकता हूं .zshrcऔर कुछ बाहरी फ़ाइलों में सहेज सकता हूं ।

जवाबों:


2

आप अपने ~/.zshrcसाथ अतिरिक्त फ़ाइलें लोड कर सकते हैं source FILENAME

मेरे पास निम्नलिखित में ~/.zshrcविस्तार के साथ सभी फ़ाइलों के लिए ऐसा करने के लिए .zshहै~/.zshrc.d

# load additional configuration
if [[ -d ~/.zshrc.d ]]; then
    for file in ~/.zshrc.d/*.zsh; do
        source "$file"
    done
    unset file
fi

फिर आप केवल उन फ़ाइलों को रख सकते हैं, जिनकी आपको एक विशिष्ट वातावरण में आवश्यकता होती है।

आप एक कदम आगे भी जा सकते हैं और प्रत्येक वातावरण के लिए एक उपनिर्देशिका बना सकते हैं और केवल एक ही लोड कर सकते हैं। उदाहरण के लिए सामग्री के आधार पर $OSTYPE:

if [[ -d ~/.zshrc.d/${OSTYPE} ]]; then
    for file in ~/.zshrc.d/${OSTYPE}/*.zsh; do
        source "$file"
    done
    unset file
fi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.