일부 Linux 설치에는 경로에 없는 명령을 입력할 때 bash가 자동으로 유사한 명령이나 적절한 패키지를 제안하는 "기능"이 있습니다.
몇 초가 걸리고 터미널을 차단하기 때문에 이것이 짜증나는 일이라고 생각합니다.
이것은 어디에 구성되어 있습니까(bash, Ubuntu)? 이 기능을 어디에서 변경/비활성화할 수 있나요? 나는 단지 알 수 없는 명령에 대한 오류 메시지만 원할 뿐입니다.
~/.bashrc에서 아무것도 발견되지 않았습니다.
다음은 우리 회사 컴퓨터의 출력입니다(10초 소요).
> eco 'hello world'
Command 'eco' not found, did you mean:
command 'ecj' from deb ecj (3.16.0-1)
command 'ecc' from deb ecere-dev (0.44.15-1build3)
[...]
command 'co' from deb rcs (5.9.4-6)
command 'ico' from deb x11-apps (7.7+8)
command 'peco' from deb peco (0.5.1-1)
command 'ecm' from deb gmp-ecm (7.0.4+ds-5)
Try: apt install <deb name>
>
답변1
Debian(및 Ubuntu 등)에서는 command-not-found
패키지를 통해 이 작업이 수행됩니다. 중지하려면 패키지를 삭제하세요.
apt-get purge command-not-found
IIRC의 경우, 패키지를 제거한 후 command_not_found_handle 함수를 재설정하려면 현재 셸을 종료하고 다시 시작해야 합니다(또는 로그아웃했다가 다시 로그인하거나 다시 시작해야 합니다). 아니면 unset -f command_not_found_handle
실행 중인 모든 대화형 셸에서 실행하세요(예: 터미널 에뮬레이터의 모든 탭).
그런데:
Package: command-not-found
Version: 23.04.0-1
Installed-Size: 522
Maintainer: Julian Andres Klode <[email protected]>
Architecture: all
Depends: apt-file (>= 3.0~exp1~), lsb-release, python3-apt, python3:any
Suggests: snapd
Description-en: Suggest installation of packages in interactive bash sessions
This package will install a handler for command_not_found that looks up
programs not currently installed but available from the repositories.
추신: 이것이 짜증스럽다고 생각하는 사람은 당신뿐만이 아닙니다. 나는 내가 구축한 모든 시스템에서 이를 제거합니다. bash-completion
또한 패키지를 정리하고 맞춤 완성으로 인한 제한과 지연이 유익하기보다는 짜증스럽다는 사실을 발견했습니다 .