क्या बैश के लिए टाइपो सुधारक है?


8

मैं किसी चीज़ को 'कमांड नॉट' की गलती पर हुक करने के लिए कह सकता हूं और एक उपयोगी फिक्स की पेशकश करना चाहता हूं।

उदाहरण के लिए:

grep-C3  error
bash: grep-C3: command not found

यह कहा जाए तो अच्छा होगा:

Did you mean: grep -C3 error (Y/n)

मैंने देखा है कि लोग .bash_profile स्क्रिप्ट में 'alias gerp = grep' की तरह सामान्य टाइपोस को शामिल करते हैं, लेकिन मुझे लगता है कि किसी ने संभवतः इस प्रकार की चीज़ को ठीक करने के लिए बैश करने के लिए एक सामान्य एक्सटेंशन लिखा है।

क्या किसी ने इस तरह के विस्तार के बारे में सुना है?


जवाबों:


4

मैं एक सामान्य उद्देश्य के बारे में नहीं जानता, लेकिन निर्देशिका नामों के लिए एक है:

$ shopt -s cdspell
$ cd /usr/ibn
/usr/bin
$ pwd
/usr/bin
$ cd /usr/shar/doc
/usr/share/doc

यह बैश के लिए मैन पेज से है:

यदि खोज असफल है, तो शेल परिभाषित शेल की खोज करता है 
function जिसका नाम command_not_found_handle है। यदि वह फ़ंक्शन मौजूद है, तो यह है
मूल कमांड और मूल कमांड के तर्कों के साथ लागू किया गया  
इसके तर्क के रूप में

आप जो चाहते हैं, उसे करने के लिए इसका उपयोग करना संभव हो सकता है, लेकिन कोड काफी चुनौती भरा होगा। वैसे, उदाहरण के लिए, उबंटू इसका उपयोग उन पैकेजों को प्रदर्शित करने के लिए करता है जिनमें कमांड होता है जो इंस्टॉलेशन निर्देशों (उपयुक्त-प्राप्त) के साथ नहीं मिला था।



0

command-not-foundपैकेज हाल distros में इस सुविधा प्रदान करना चाहिए।

यदि नहीं, तो आप इसे command_not_found_handle()फ़ंक्शन से मैन्युअल रूप से लागू कर सकते हैं ।

एक अन्य विकल्प यह है

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