यदि "bash" शेल में कमांड नहीं मिला ("क्या आपका मतलब ..." सुविधा है) सुझाव को सक्षम करने के लिए?


15

इस प्रश्न के समान: मैं शेल में "क्या आपका मतलब है ..." सुविधा को कैसे हटा सकता हूं?

जब एक कमांड को गलत करने पर आपको कुछ मिलता है जैसे:

root@pc:~# sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
sido: command not found
root@pc:~# 

क्या linux या ubuntu के लिए एक शेल प्लगइन है जो पहले अनुमान की सिफारिश करता है और मुझे बस एंटर दबाना है?

तो यह इस तरह होना चाहिए:

root@pc:~# sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
sido: command not found
Did you mean 'sudo' [Y/n]?

इसलिए मुझे सिर्फ एंटर प्रेस करने की जरूरत है और सिडो के बजाय सुडो कमांड को अंजाम दिया जाता है।


4
क्या zshशेल आपके लिए एक विकल्प है?
एबी

जवाबों:


14

यदि आप गोले स्विच करने के लिए तैयार हैं, तो zshयह प्लगइन्स के बिना प्रदान करता है:

$ setopt correct 
$ sido -i
zsh: correct 'sido' to 'sudo' [nyae]? 
y
[sudo] password for muru: 

से डॉक्स :

CORRECTआदेशों के लिए वर्तनी सुधार चालू करता है, और CORRECTALLविकल्प सभी तर्कों के लिए वर्तनी सुधार चालू करता है।

% setopt correct
% sl
zsh: correct `sl' to `ls' [nyae]? y
% setopt correctall
% ls x.v11r4
zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n
/usr/princton/src/x.v11r4 not found
% ls /etc/paswd
zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y
/etc/passwd

यदि आप yखोलते हैं तो शेल आपसे पूछता है कि क्या आप किसी शब्द को सही करना चाहते हैं, तो इसे सही किया जाएगा। यदि आप दबाते हैं n, तो यह अकेला रह जाएगा। दबाने aसे कमांड को निरस्त कर दिया जाता है और दबाने eसे लाइन फिर से एडिटिंग के लिए आ जाती है, यदि आप सहमत हैं कि शब्द गलत लिखा गया है लेकिन आपको सुधार पसंद नहीं है।


अच्छा, यह अच्छा लग रहा है! इस पर गौर करेंगे। क्या मानक / बिन / बैश का उपयोग करने का एक और समाधान है?
स्टीफन प्रोफेनर

1
@SailAvid नहीं कि मुझे पता है। बैश केवल पथों के लिए सुधार प्रदान करता है cd: ( cdspellसामान्य रूप से: या निर्देशिकाओं के साथ उपयोग के लिए dirspell)।
मूरू

sudo apt-get install sl/brew install sl
केनोरब

@kenorb नरक नहीं! मुझे slउपयोगी से अधिक कष्टप्रद लगता है।
मूरू

22

अगर zsh एक विकल्प नहीं है, तो एक नज़र डालें

इसके साथ स्थापित किया जा सकता है:

sudo pip install thefuck

रीडमी में एक उदाहरण लगभग वही है जो आप अनुरोध कर रहे हैं:

 puthon
No command 'puthon' found, did you mean:
  Command 'python' from package 'python-minimal' (main)
  Command 'python' from package 'python3' (main)
zsh: command not found: puthon

 fuck
python
Python 3.4.2 (default, Oct  8 2014, 13:08:17)
...

यह कुछ अन्य उपयोगी चीजें भी करता है जैसे:

 apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

 fuck
sudo apt-get install vim
[sudo] password for nvbn:
Reading package lists... Done
...

या

 git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master


 fuck
git push --set-upstream origin master
Counting objects: 9, done.
...

यह कमाल का है!
मुरु

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