Ubuntu에서 다음을 입력하면 다음과 같은 사실을 발견했습니다.
mc
아직 설치되지 않았는데 다음 메시지가 나타납니다.
The program 'mc' is currently not installed. You can install it by typing: sudo apt-get install mc
그러나 데비안에서는 이것이 가능하지 않습니다. "-bash:/usr/bin/mc: 해당 파일이나 디렉터리가 없습니다"라는 메시지만 표시됩니다. Debian의 bash 명령줄에서 동일한 기능을 어떻게 얻을 수 있나요? 예, 제가 원하는 것이 패키지 제안뿐이라면 간단히 정규식 검색을 사용하면 됩니다.적절한 캐시 검색. 하지만 프로그램 이름을 입력할 때 즉시 더 간단한 제안을 받을 수 있었으면 좋겠습니다.
토론에 따르면 이 기능은 패키지에서 제공됩니다.명령어를 찾을수 없음. 그러나 bash-completion 패키지가 설치되어 있어도 데비안 bash 셸에서는 여전히 사용할 수 없습니다.
답변1
설치가 제거된 패키지에 대한 제안 제공을 시작하지 않은 이유는 command-not-found
설치 중에 dpkg의 작은 알림을 놓쳤기 때문입니다.
update-command-not-found
이 명령은 직후에 실행되어야 합니다 apt-get install command-not-found
. 실제로 dpkg는 이 명령을 실행하라는 메시지를 표시합니다.
답변2
데비안 패키지가 불완전한 것 같습니다. Readme /etc/bash_command_not_found
에는 이 작업을 .bashrc
.
데비안command-not-found
팩기반으로우분투 패키지. 이와 관련하여 우분투 패키지가 더 완벽한 것 같습니다.
우분투 버전의 내용bash_command_not_found:
command_not_found_handle() {
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
else
return 127
fi
}
~/.bashrc
(또는 /etc/bash.bashrc
) 에 다음 줄을 추가하면 command-not-found
기능이 작동합니다.
답변3
저는 이 문제를 다음과 같은 방법으로 해결했습니다.
먼저 설치 명령을 찾을 수 없습니다
sudo apt update
sudo apt install command-not-found
이후
sudo update-command-not-found
sudo apt update
답변4
데비안에서는 command-not-found를 설치한 후 다음 명령을 실행해야 합니다:
apt-get update
또는
apt-file update
이 명령은 update-command-not-found
효과가 없습니다. 또한 /etc/profile에서 새 명령을 찾을 수 없는 쉘 스크립트가 실행되도록 로그아웃했다가 다시 로그인해야 합니다. 또는 수동으로 실행/가져올 수 있습니다.