ऐसा क्यों होता है?
मैक और Ubuntu को बैश के कमांड हिस्ट्री में डुप्लिकेट को संभालने के लिए बॉक्स से अलग तरीके से कॉन्फ़िगर किया गया है। ये कॉन्फ़िगरेशन तथाकथित " डॉट-फाइल्स " में संग्रहीत हैं । ये ~ / .bash * के साथ-साथ सिस्टम वाइड / etc / प्रोफाइल का रूप लेते हैं। ये सभी फाइलें आपकी पसंद के अनुसार अनुकूलित की जा सकती हैं और इंटरैक्टिव गोले, लॉगिन गोले, दूरस्थ गोले आदि के बीच अंतर कर सकती हैं। ये फाइलें एक विशिष्ट क्रम में पढ़ी जाती हैं और विशिष्ट कार्यों की सेवा करती हैं।
MacOS पर समान व्यवहार कैसे प्राप्त करें?
यदि आप केवल यह चाहते हैं, तो "कमांड लाइन की सटीक डुप्लिकेट को अनदेखा करना" का एकल अनुकूलन, आप एलन के उत्तर जैसी किसी चीज़ के साथ जा सकते हैं, अर्थात अपनी bash_profile फ़ाइल के उदाहरण के लिए एक सिंगल लाइन जोड़ें। कोई "उचित तरीका" नहीं है लेकिन अनगिनत विकल्प हैं।
यदि यह आपके बैश के लिए एकमात्र अनुकूलन नहीं है तो यह सबसे अच्छा विकल्प नहीं हो सकता है:
कुछ अन्य नोट:
- कुछ भी जो आलेखीय अनुप्रयोगों के लिए उपलब्ध होना चाहिए या श (या श के रूप में आह्वान किया जाना चाहिए) के लिए जरूरी है।
- ~ / .bashrc कुछ भी आउटपुट नहीं करना चाहिए
- जो कुछ भी केवल लॉगिन गोले के लिए उपलब्ध होना चाहिए, वह ~ / .profile में जाना चाहिए
- सुनिश्चित करें कि ~ / .bash_login मौजूद नहीं है।
इसका मतलब है, जब चीजें अधिक जटिल हो यह है अच्छा विचार करने के लिए फैला एकाधिक फ़ाइलों में अनुकूलन, उनमें से प्रत्येक विशेष और अत्यधिक उनकी सामग्री में आदेश दिया:
सभी exportsसरलीकृत निरीक्षण के लिए अपनी स्वयं की फ़ाइल में निवास कर सकते हैं।
एक फ़ाइल बनाएँ, जो आपके उपयोगकर्ता निर्देशिका के मूल में bash द्वारा पढ़ी गई है, उदाहरण के लिए जिसे .exportsइसमें शामिल है:
# Omit duplicates and commands that begin with a space from history.
export HISTCONTROL='ignoreboth';
इसे "सोर्स किया गया" होना चाहिए ताकि इंटरएक्टिव स्टार्टअप पर फ़ाइल को बैश करके पढ़ा जा सके:
फ़ाइलों
को सोर्स करना यदि आपके पास बहुत अधिक शेल कॉन्फ़िगरेशन हैं, तो आप उन्हें कई उप-विभाजनों में विभाजित करना और स्रोत बिलिन का उपयोग करके उन्हें अपने .bashrc से लोड करने के लिए कर सकते हैं: source ~/.exportsइसे जोड़ने के साथ ।
वैकल्पिक रूप से, यह सुनिश्चित करने के लिए कि फ़ाइलें लोड करने से पहले वास्तव में मौजूद हैं
if [ -f ~/.exports ]; then
. ~/.exports
fi
कमांड वर्तमान में चल रहे शेल के संदर्भ में . ~/.exportsस्रोत होगा ~/.exports।
यह विशेष रूप से उपनाम जोड़ने के लिए उपयोगी है, जब आप परिवर्तन करते हैं तो अलग फ़ाइल उन्हें फिर से लोड करना आसान बनाती है।
zshरूप से विभिन्न लिपियों के साथ zsh को अनुकूलित करने के लिए ।