터미널에서 뭔가를 하면 틀리게 입력하고, 의도치 않게 뭔가를 입력하는 경우가 많습니다.
간단한 예를 입력하면 int
다음과 같이 표시됩니다.Command 'int' not found, but there are 18 similar ones.
나에 대해 말하는 게 아니야필요이 18개의 유사한 명령을 알고 싶은데, 이 "유사한 18개"가 무엇인지 알 수 있는 방법이 있나요? 터미널이든 다른 곳이든.
답변1
우분투에서 이런 일이 발생하면,askubuntu.com이는 bash가 /usr/lib/command-not-found
Python을 사용하는 모듈을 사용한다는 의미입니다 CommandNotFound
.
/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py
CommandNotFound.py 파일의 178번째 줄에서 시작하는 "그러나 유사한 X가 있습니다"를 담당하는 정확한 줄을 볼 수 있습니다.
if len(mispell_packages)+len(mispell_snaps) > max_alt:
print("", file=self.output_fd)
print(_("Command '%s' not found, but there are %s similar ones.") % (word, len(mispell_packages)), file=self.output_fd)
print("", file=self.output_fd)
self.output_fd.flush()
return
CommandNotFound.py가 유사한 명령 목록을 반환하도록 하는 스위치, 플래그 또는 옵션이 없기 때문에 이러한 패키지가 무엇인지 정말로 알고 싶다면 Python 파일의 이 부분을 편집하고 두 줄을 추가하여 인쇄할 수 있습니다. 배열의 요소 수뿐만 아니라 비슷한 명령 배열이 포함된 콘텐츠도 마찬가지입니다. 추가된 행은 이 코드 섹션의 4행과 5행입니다.
if len(mispell_packages)+len(mispell_snaps) > max_alt:
print("", file=self.output_fd)
print(_("Command '%s' not found, but there are %s similar ones.") % (word, len(mispell_packages)), file=self.output_fd)
for x in range(len(mispell_packaged)):
print(mispell_packages[x])
print("", file=self.output_fd)
self.output_fd.flush()
return
이제 저장하고 /usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py
(루트로 편집해야 함) 를 입력하면 int
다음을 얻을 수 있습니다.
Command 'int' not found, but there are 18 similar ones.
('itd, 'ncl-ncarg', 'universe', '')
('ant, 'ant', 'universe', '')
('inl, 'ioport', 'universe', '')
('inw, 'ioport', 'universe', '')
('tint, 'tint', 'universe', '')
('inc, 'mailutils-mh', 'universe', '')
('inc, 'mmh', 'universe', '')
('inc, 'nmh', 'universe', '')
('nit, 'python-nevow', 'universe', '')
('init, 'systemd-sysv', 'main', '')
('itv, 'python-invoke', 'universe', '')
('itv, 'python3-invoke', 'universe', '')
('cnt, 'open-infrastructure-container-tools', 'universe', '')
('inb, 'ioport', 'universe', '')
('ent, 'ent', 'universe', '')
('ink, 'ink', 'universe', '')
('iyt, 'python3-yt', 'universe', '')
('iat, 'iat', 'universe', '')
목록에는 유사한 명령 이름(itd, and, inl, inw, Tint)과 이 명령을 제공하는 패키지(ncl-ncarg, ant, ioport) 및 해당 명령이 제공되는 저장소(우주, 메인).
궁금증이 해소되셨기를 바랍니다 :) 솔직히 저도 님의 글을 읽고 궁금해졌습니다.