วิธีเปิดใช้งานคำแนะนำหากไม่พบคำสั่ง (“ คุณหมายถึง…”) ในเชลล์“ 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 ที่แนะนำให้เดาคำแรกและฉันต้องกด enter?

ดังนั้นควรเป็นเช่น:

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]?

ดังนั้นฉันต้องกด enter และคำสั่ง sudo ถูกดำเนินการแทน sido


4
เป็นzshเปลือกตัวเลือกสำหรับคุณ?
AB

คำตอบ:


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จะนำบรรทัดขึ้นมาเพื่อแก้ไขอีกครั้งในกรณีที่คุณยอมรับว่าคำนั้นสะกดผิด แต่คุณไม่ชอบการแก้ไข


นีซนี่ดูดี! จะมองมัน มีวิธีอื่นในการใช้มาตรฐาน / bin / bash หรือไม่
Stefan Profanter

1
@SailAvid ไม่ว่าฉันรู้ ทุบตีเพียง แต่มีการแก้ไขสำหรับเส้นทาง (สำหรับใช้กับcd: cdspellหรือไดเรกทอรีทั่วไป: dirspell)
muru

sudo apt-get install sl/brew install sl
kenorb

@kenorb นรกไม่! ฉันพบว่าslน่ารำคาญกว่ามีประโยชน์
muru

22

หาก zsh ไม่ใช่ตัวเลือกให้ดูที่thefuck

สามารถติดตั้งได้กับ:

sudo pip install thefuck

ตัวอย่างหนึ่งใน readme เป็นสิ่งที่คุณต้องการ:

 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.
...

นี่มันเจ๋งมาก!
muru

ไม่ช่วยตามปกติฉันมักslจะลงโทษตัวเองเพื่อรักษานิสัยที่ไม่ดีของฉันในการพิมพ์ผิด
kenorb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.