"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 또는 우분투 용 쉘 플러그인이 있으며 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 키를 누르면 sido 대신 sudo 명령이 실행됩니다.


4
는 IS 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 내가 아는 것은 아닙니다. Bash는 경로에 대한 수정 만 제공합니다 ( 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.