इस महीने तक, मेरा शेल कॉन्फिग काफी सरल रहा है ( मुख्य रूप से .bashrc
या .bash_profile
कुछ उपनामों के साथ), लेकिन मैं इसे रिफैक्ट कर रहा हूं, इसलिए मैं अलग-अलग व्यवहार कर सकता हूं, जो इस बात पर निर्भर करता है कि मैं zsh और bash का उपयोग कर रहा हूं या नहीं। वे पहले एक जेनेरिक शेल कॉन्फ़िगर फ़ाइल का स्रोत बनाते हैं, जो कुछ भी काम करना चाहिए, फिर उपयोग किए जा रहे विशिष्ट शेल के लिए विशेषज्ञ (मैं इस के लिए सहानुभूति रखता हूं)।
मुझे आज आश्चर्य हुआ जब मैंने ls
काम करना बंद कर दिया। यह पता चला कि रिफैक्टरिंग के दौरान .bashrc
, एक उपनाम था
alias ls='ls --color=always'
ls
OSX में टर्मिनल पर बैश के लिए चीजें तोड़ रहा था । एक बार मैंने देखा कि बीएसडी ls
को -G
रंग पसंद है, लेकिन जीएनयू (या जो भी उबंटू में था) पसंद करता है --color
, यह स्पष्ट था कि काफी कुछ विकल्प अलग हैं।
मेरा सवाल यह है कि बीएसडी और जीएनयू कोरयूटिल्स के बीच विकल्पों में अंतर के लिए सबसे अच्छा तरीका क्या है? क्या मुझे if
यह देखने के लिए कि क्या उपयोग किया जा रहा है और सही व्यवहार को लागू करने के लिए ब्लॉकों में एक एनवी चर के लिए परीक्षण करना चाहिए ? या क्या यह प्रत्येक ओएस के लिए अलग-अलग कॉन्फिग फाइल बनाने के लिए अधिक समझ में आता है?
हालांकि इन सवालों के जवाब व्यक्तिपरक हो सकते हैं, ऐसा लगता है कि बीएसडी और जीएनयू कोरुटिल्स के बीच मतभेदों की गुंजाइश का एक हिस्सा है और इन चारों ओर काम करने के लिए रणनीतियों को बनाने के लिए सबसे सामान्य रूप से उपयोग करने के लिए एक सामान्य विन्यास काफी अच्छा होगा।
ls -c
अलग हैls --color
। अपने प्रश्न को ठीक करने के लिए संपादित किया।