2010-07-23 3 views
18

방금 ​​Bash에서 Zsh로 마이그레이션했지만 방금 문제가 있습니다. 우분투 시스템의 bash에서 존재하지 않는 명령의 이름을 입력하면 bash는 apt 데이터베이스에서 일치하는 명령 이름을 검색하고 해당 명령을 제공하는 패키지 이름을 인쇄합니다. 정말 유용한 기능입니다. Zsh에서 스크립트 같은 것을 사용하여 구현할 수 있는지 궁금합니다. 여기 Zsh 패키지 제안

은 예입니다 :

$>xmms 
No command 'xmms' found, did you mean: 
Command 'lmms' from package 'lmms' (universe) 
Command 'xmms2' from package 'xmms2-client-cli' (universe) 
Command 'xmds' from package 'xmds' (universe) 
Command 'xdms' from package 'xdms' (universe) 
+0

는 superuser.com –

+0

아 O에 속한다 k 유감스럽게 생각합니다. 저는 여기 새로 왔습니다 :) –

+0

@ Pul R이 패키지가 존재하지 않는다면 프로그래밍 질문이 아닙니까? @gastly이 트릭을 수행하는 스크립트 소스를 찾으면 zsh로 이식 할 수 있습니다. – ZyX

답변

11

마이클 Politowski에 의해 제안, 나는 내 자신의 질문에 대답거야, 그리고 해결로 표시 :

$>xmms2 
The program 'xmms2' is currently not installed. You can install it by typing: 
sudo apt-get install xmms2-client-cli 

또는 명령이 정확히 일치하지 않은 경우

:)

zsh에서이 기능을 사용하려면 "command-not-found"라는 패키지를 설치하십시오 (다른 배포판에 대해서는 모르겠지만 우분투에서는 저장소에 있습니다).

참고 : Ubuntu 12.04에서이 패키지는 기본적으로 설치됩니다.

는 sudo apt-get을

을 발견 한 명령하지 설치 한 다음 당신은 등 파일/당신의 .zshrc 다음 소스를 편집해야합니다 /에 다음 줄을 추가하여 zsh_command_not_found 당신의 .zshrc

공급원은/etc/zsh_command_not_found

+2

그냥 분명히합니다. 나는 이미 command-not-found가 설치되어 있고 필요한 것은 다음과 같다 .zshrc'source/etc/zsh_command_not_found' – Sam