bash에 대한 오타 교정기가 있습니까?


8

bash의 'command not found'오류에 연결하고 유용한 수정을 제공하고 싶습니다.

예를 들면 다음과 같습니다.

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

그것이 말하면 좋을 것입니다 :

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

사람들이 .bash_profile 스크립트에 'alias gerp = grep'와 같은 일반적인 오타를 포함시키는 것을 보았지만 누군가가 이런 종류의 문제를 해결하기 위해 bash에 대한 일반 확장명을 작성한 것으로 보입니다.

누구든지 그러한 확장에 대해 들어 보셨습니까?


답변:


4

일반적인 용도는 모르지만 디렉토리 이름에는 하나가 있습니다.

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

이것은 Bash의 맨 페이지에서 가져온 것입니다.

검색에 실패하면 쉘은 정의 된 쉘을 검색합니다. 
command_not_found_handle이라는 함수. 해당 기능이 존재하면
원래 명령과 원래 명령의 인수로 호출  
그 주장으로

이것을 사용하여 원하는 것을 할 수는 있지만 코드는 상당히 어려울 것입니다. 그런데 Ubuntu는이를 사용하여 설치 지침 (apt-get)에서 찾을 수없는 명령이 포함 된 패키지를 표시합니다.


2

shopt 가 좋은 시작이 될 것 같습니다 .

또한 zsh 에는 오타 수정 기능이 내장되어 있습니다.


"쇼핑"링크는 여기에서 빈 페이지처럼 보입니다.
sylvainulg

0

command-not-found패키지는 최근 배포판에서이 기능을 제공해야한다.

그렇지 않으면 command_not_found_handle()함수 에서 수동으로 호출 할 수 있습니다 .

또 다른 대안은 이것 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.