이러한 유형의 동작은 bash에 연결된 일부 배포에 자주 설치되는 도구로 인해 발생합니다. 이 후크를 사용하면 명령을 실행하려고 할 때 명령이 존재하지 않으면 bash는 구성된 저장소에서 사용 가능한 파일을 검색하고 해당 명령을 얻기 위해 설치해야 할 패키지를 알려줍니다.
데비안 시스템이 아닌 경우 bash 시작 파일 프로파일 등을보고라는 함수를 정의하는 것이 있는지 확인하십시오 command_not_found_handle. 해당 bash 함수가 정의되면 명령을 실행할 때마다 호출되며 검색 경로에서 적절한 프로그램을 찾을 수 없습니다. typset | less출력 을 실행 하고 찾아 보면 command_not_found_handle()기능이 정의 된 경우 해당 기능 을 볼 수 있습니다.
데비안 / 우분투에서이 동작을 제공하는 패키지는 command-not-found 입니다. 당신이 그것을 제거하면, 당신은 속도가 느려지는 조회를 비활성화합니다.
여기에 예가 있습니다
# command-not-found installed
$ time pwgen
The program 'pwgen' is currently not installed. To run 'pwgen' please ask your administrator to install the package 'pwgen'
pwgen: command not found
real 0m0.074s
user 0m0.032s
sys 0m0.040s
# purge command-not-found and restart bash
$ time pwgen
-bash: pwgen: command not found
real 0m0.002s
user 0m0.000s
sys 0m0.000s
정확한 시간은 물론 다릅니다. 나는 매우 거친 서버에서 테스트를 실행했습니다.