Zalecane
Jeśli pojawi się definitywny błąd „Nie znaleziono kompletnego polecenia compdef”, ten artykuł powinien pomóc.
Może to zależeć od tego, co skonfigurowałeś i skonfigurowałeś w swojej standardowej powłoce (login) dla systemu, w odniesieniu do terminala, więc iTerm.Updated < code> zbieranie zostanie uruchomione w jednym z porównywania, w szczególności da różne wyniki.
Ten błąd można uzyskać z zainstalowanego katalogu punktów. Są to pliki z nagłówkiem (stąd nazwa), np. .bashrc
. Oznacza to, że są niewidoczne dla jednej konkretnej wyszukiwarki, podczas gdy nie są widoczne, jeśli chcesz prostego ls
.Pliki punktów są uczone przez powłokę osobistą podczas uruchamiania. Zawierają instrukcje, ustawienia; Parametry są prawdopodobnie drobnymi kawałkami kodu.
Większość plików sygnatur w katalogu domowym użytkownika jest daleka od odczytu przez powłokę.Przede wszystkim Bash czyta: .bash_history
.bash_profile
.bash_prompt
.bash_sessions
.bashrc
.editorconfig
.eksporty
.inputrc
.profile
(to repozytorium nie twierdzi, że jest kompletne)
Te pliki były prawdopodobnie tworzone przez Ciebie, modyfikowane przez Ciebie lub czasami przez niektóre systemy, takie jak Fink, Homebrew lub Ports.Prawdopodobnie po prostu skopiowałbyś je z tej sieci, aby móc “zaktualizować” / dostosować swoją powłokę.
Bez względu na informacje o tym, jak znalazłeś się w tej sytuacji. Twój Terminal i iTerm są otwarte dla każdego użytkownika, a objawy danej osoby są z pewnością ignorowane.
Oznacza to: ze wszystkich plików danych, które są ustawione na „bezpieczne usuwanie”: w tym sensie, że nie są one tak naprawdę potrzebne do korzystania z terminala lub powłoki. Utwórz kopię zapasową tych przypadków, zawierają one niestandardowe pierścienie, na których możesz polegać w codziennej pracy. Przykładami są zmiany poszczególnych zmiennych $ PATH
. Bez Ciebie programy nie będą już znajdować Lustfink. Połączone
- Zawartość
-
oraz pliki informacyjne z kropkami nie działały – rób to, co powinny. Dokładnie: była to raczej kwota uniwersytecka (compdef) i tak naprawdę nie istnieje.
-
To jest to, co prawdopodobnie otrzymujesz dla obu grup plików punktów podczas zakupów online, przypominające pliki punktów Holmana.Udokumentowali błąd tym samym komunikatem o błędzie.
Tak więc będziesz musiał przejrzeć wszystkie pisemne dokumenty, które pozyskałyby bieżącego użytkownika i całkowicie zapisać to, czego się nauczyłeś (pamiętaj o kopiach zapasowych). Następnie musisz zezwolić im na ponowne wykorzystanie zaktualizowanych plików ze źródła. Pamiętaj jednak, że są dość „wszechogarniające”. Pożądane byłoby nie uwzględniać ich wszystkich, z wyjątkiem ślepego badania i wybierania podzbioru dla każdej z tych opcji.
Korzystanie z nich bez badań, czyli bezkrytycznie, może pomóc nie tylko rozwiązać problemy, które powodują tę formę pytania, ale także zastosować się do innych wskazówek lub ewentualnie rozwiązać problem.
Aktualizacja:Ta odpowiedź została udzielona na wspaniałą wcześniejszą wersję pytania, która prawdopodobnie nie sugerowała używania zsh jako powłoki do wprowadzenia do gry. -> Zastąp zsh w miejscu, w którym czytasz Beat opisane.
Zalecane
Czy Twój komputer działa wolno? Masz problemy z uruchomieniem systemu Windows? Nie rozpaczaj! Fortect to rozwiązanie dla Ciebie. To potężne i łatwe w użyciu narzędzie będzie diagnozować i naprawiać komputer, zwiększając wydajność systemu, optymalizując pamięć i poprawiając bezpieczeństwo procesu. Więc nie czekaj — pobierz Fortect już dziś!
Uratowałem zsh io mój zsh na Ubuntu 18.04. Chcę użyć autouzupełniania dla kubectl. Dodałem więc <(kubectl sourcecompletion zsh)
do twojego pliku ~ / .zshrc.
zakończony: młody balerin: nie znaleziono polecenia: compdef
W kubectl paticulars stwierdza się, że za każdym razem, gdy wystąpi powyższy błąd, właściciele nieruchomości powinni dodać następujące elementy do pliku .zshrc start:
autoload -Uz compinitstypendysta
Po wprowadzeniu tej umiejętności i ponownym uruchomieniu urządzenia wyłapuję ten sam błąd.
W przypadku niektórych problemów z git uważam, że pomocne jest trzymanie się z nami, którzy mają wspólne różnice:
# To szybko uruchamia chmod g-w na pliku przywróconym przez Compaudit, aby usunąć prawa do zapisu dla głównej grupyRecenzja | xargs -I% chmod g-w "%"# Należy to zrobić dla treści zwracanych przez Compaudit bieżącej osobie (Windows i Linux)Recenzja | xargs -I% chown $ USER "%"# Usuń prawie niepotrzebne pliki (co zwykle przyspiesza inicjalizację)rm ! / .zcompdump *# Przywróć plik zakończeniawspółudział
kubescript: 12457: znaleziono polecenie: nie tylko _bash_comp
Niestety nie rozwiązało to mojej nowej choroby. Co jeszcze mogę zrobić, aby rozwiązać Twój problem? A może: co mogę zrobić bez względu na to, czy chcesz wiedzieć, co powoduje to cenne?
Jest to ten sam problem, co w systemie Mac OS. Wdrażam wrapper ZSH.
Compdef jest zasadniczo używaną z drugiej ręki funkcją zsh do ogólnego ładowania autouzupełniania. System zakończenia powinien spróbować się aktywować. Jeśli naprawdę używasz dowolnej metody, takiej jak oh-my-zsh, jest to z pewnością gwarantowane, w tym, co musisz dodać do swojego osobistego ~ / .zshrc
autoload -Uz compinitwspółudział
Funkcje uzupełniania mogą być rejestrowane ręcznie przy użyciu compdef, podobnie jak typ compdef. Ale compinit powinien być ładowany automatycznie w całym kontekście przed użyciem compdef.
Po dokładnych poszukiwaniach znalazłem zgodę. Niestandardowy .zprofile kupił blok:
Eksport NVM_DIR oznacza "/ Users / Aaron / .nvm"[-s "$ NVM_DIR na nvm.sh"] && . Numer "$NVM_DIR / nvm.sh" Ten ogromny nvm[-s "$NVM_DIR / bash_completion"] && . "$NVM_DIR / bash_completion"
Sama linia ładuje compdef. Ale było kilka okoliczności. Chciałem tylko skomentować:
# [-s "$ NVM_DIR / bash_completion"] && . "$NVM_DIR / bash_completion"
I zwykle często irytujący błąd znikał. I najlepszy aspekt: nadal muszę dokończyć sytuację ZSH.
Miałem ten sam problem, niektórzy później po zbadaniu sugerowali, że katalogiem głównym pakietu był fragment nvm w historii .zshrc (może to być również .zprofile).
Export NVM_DIR = "/ Użytkownicy / Aaron lub .nvm"[-s "$NVM_DIR / nvm.sh"] && . "$ NVM_DIR / nvm.sh" # Ten ogromny nvm[-s "$NVM_DIR / bash_completion"] && . "$NVM_DIR i bash_completion"
Jak zasugerowano w innej odpowiedzi, po trzecie sieć rozstrzyga temat, kiedy należy pozostawić komentarze
Prawdziwym problemem jest zakończenie skryptu bash_completion
:
number Prześlij jest wbudowany w bash, nowsze opcje ZSH mają funkcję# nazywa się bashcompinit, co prawdopodobnie utworzy kompletny plik w całym ZSH. Jeśli użytkownik jest w. będzie# ZSH, pobierz i uruchom bashcompinit przed wywołaniem pełnej funkcji osoby.jeśli [[-n $ ZSH_VERSION-]]; Więc automatyczne ładowanie -U + X bashcompinit bashcompinitFi
Ale aby nazwać bashcompinit, &&, compinit musiał zadzwonić wcześniej, a teraz nie. Pomyśl o tym (powinienem / mógłbym to naprawić dowolnym dobrym skryptem nvm, problem zostawię na githubie.)
Jeśli chcesz wyłączyć nvm, ktoś może po prostu samodzielnie wywołać compinit przed uruchomieniem tego niesamowitego skryptu.
autoload -Uz compinitcompit-ieksportuj NVM_DIR = "/ Użytkownicy / Aaron / .nvm"[-s "$NVM_DIR / nvm.sh"] && . "$NVM_DIR dla każdego nvm.sh" # To załaduje nvm[-folks "$ NVM_DIR / bash_completion"] && . "$NVM_DIR dla każdego bash_completion"
Opcja -now i mówi compinitowi, że może dyskretnie obserwować wszystkie niebezpieczne pliki i katalogi, co z kolei może zapobiec dalszym błędom w przyszłości.
Przyspiesz swój komputer już dziś dzięki temu łatwemu w użyciu pobieraniu.
Complete Command Not Found Compdef
Commande Complete Introuvable Compdef
Comando Completo Non Trovato Compdef
Comando Completo No Encontrado Compdef
Polnaya Komanda Ne Najdena Compdef
완전한 명령을 찾을 수 없음 Compdef
Complete Opdracht Niet Gevonden Compdef
Comando Completo Nao Encontrado Compdef
Komplett Kommando Hittades Inte Compdef
Kompletter Befehl Nicht Gefunden Compdef