OS X टर्मिनल का उपयोग करके फाइल कैसे बनाएं और उसमें एक लाइन डालें


22

ओएस एक्स पर टर्मिनल का उपयोग करके मैं निम्नलिखित कैसे कर सकता हूं?

.inputrcउपयोगकर्ता के होम डायरेक्टरी में एक फ़ाइल बनाएं और इस लाइन को इसमें डालें:

set completion-ignore-case On

जवाबों:


31

शीघ्र जवाब

touch ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc

व्याख्या

सबसे पहले, फ़ाइल बनाएँ:

touch ~/.inputrc

फिर, फ़ाइल में सामग्री जोड़ें:

echo "set completion-ignore-case On" >> ~/.inputrc

touchएक खाली फ़ाइल बनाता है (यह मानते हुए कि ~/.inputrcफ़ाइल पहले से मौजूद नहीं है)। echo"मानक आउटपुट" (संक्षेप में "stdout") के लिए पाठ लिखते हैं, जो सामान्य रूप से आपकी स्क्रीन है, लेकिन रीडायरेक्शन ( >>) के कारण, आउटपुट को रीडायरेक्ट किया जाता है ~/.inputrc। यह सेटअप फ़ाइल में लाइन को जोड़ देगा।

यदि ~/.inputrcपहले से मौजूद है और आप इसकी सामग्री को (क्लोब) मिटाना चाहते हैं, और फिर लाइन को इसमें लिखें (यानी, केवल इस लाइन की टेक्स्ट वाली फाइल बनाएं ), करें:

echo "set completion-ignore-case On" > ~/.inputrc

एकल तीर ( >), उर्फ ​​"प्रतीक से अधिक", echoफ़ाइल के अंत में सामग्री लिखने के बजाय केवल दिए गए पाठ के साथ एक फ़ाइल बनाने के लिए कहता है। (वास्तव में, echoफ़ाइल नहीं बनाता है; शेल फ़ाइल बनाता है, किसी भी मौजूदा सामग्री को छोड़ देता है, और echoकमांड नई सामग्री लिखता है।)


यदि आप पहले एप्रोच ( >>) के साथ उपयोग करते हैं और आप पाते हैं कि आपके द्वारा जोड़ी गई लाइन को पिछली लाइन पर मिटा दिया गया है, जैसे;

यहाँ कुछ सामान
कुछ और सामान यहाँ पूरा-अनदेखा-मामला चालू करते हैं

फिर आपको इसे ठीक करने के लिए फ़ाइल को संपादित करने की आवश्यकता है। यह तब होता है जब पहले से मौजूद फ़ाइल की अंतिम पंक्ति "न्यूलाइन" चरित्र (यानी, एक अंत-पंक्ति मार्कर) के बजाय एक पाठ चरित्र के साथ समाप्त हो जाती है। यह .TXTविंडोज़ पर फ़ाइलों के लिए आम है , लेकिन * निक्स पर दुर्लभ है।

यदि आपको किसी तरह पहले से पता है कि आपकी .inputrcफ़ाइल में पहले से मौजूद सामग्री है जो एक नई पंक्ति के साथ समाप्त नहीं होती है, तो आपको इस echoकथन का उपयोग करना चाहिए :

echo -e "\nset completion-ignore-case On" >> ~/.inputrc

इससे \nपहले कि वाक्यांश को एक नई लाइन वर्ण के रूप में व्याख्या की जाए, इसलिए पिछली सामग्री के बाद एक नई पंक्ति जोड़ी जाती है और नए सामान को जोड़ना चाहते हैं।

या, थोड़ा अधिक टाइपिंग लेकिन अधिक पठनीय,

echo "" >> ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc

या

(echo ""; echo "set completion-ignore-case On") >> ~/.inputrc

जो वही काम करे; अर्थात, मौजूदा टेक्स्ट में लापता न्यूलाइन वर्ण प्रदान करें, और उसके set completion-…बाद कमांड जोड़ें ।


1
यहां touchकमांड का उपयोग करने का कोई कारण नहीं है; echo "…" >> ~/.inputrcकाफी है।
जी-मैन '

1
जब तक आप जिस फ़ाइल को संलग्न करना चाहते हैं वह मौजूद नहीं है।
amrx

@Baron: नहीं, echo "…" >> ~/.inputrcअगर यह मौजूद नहीं है तो फ़ाइल बनाएगा। पैथोलॉजिकल मामलों को छोड़कर, जैसे ~अस्तित्व में नहीं है, आपके पास लिखने की अनुमति नहीं है ~या फ़ाइल सिस्टम भरा हुआ है; और, ऐसे मामलों में, touchमदद नहीं करेगा।  touchपूरी तरह से यहाँ है।
जी-मैन का कहना है कि 'मोनिका'

4

आपको बस इतना करना है:

echo "set completion-ignore-case On" >> ~/.inputrc 

echo बस सामान्य आउटपुट चैनल (स्टडआउट) के माध्यम से इसे दिए गए पाठ को इको करें

>>दाहिने हाथ की फ़ाइल है, जो अपने मामले में है करने के लिए बाएं हाथ आदेश से stdout उत्पादन लिखते हैं~/.inputrc

~/ के समान है /home/your_username/

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