Kiedy bash napotka nieznane polecenie (słowo?), Robi to:
The program 'hello' can be found in the following packages:
* hello
* hello-debhelper
Try: sudo apt-get install <selected package>
Chciałbym wiedzieć, jak to się robi, aby móc go edytować lub dodać coś, aby sprawdzić krzyżowo nieznane słowo z rodzimego słownika, który miałby frazę: pary odpowiedzi, które można następnie wysłać na wyjście.
Jestem winny, że nie rozglądałem się wystarczająco… ale kilka przewodników po bash nie próbowałem tego znaleźć. Może patrzę w niewłaściwe miejsca ... jakieś wskazówki?
I tak, robię to, więc za każdym razem, gdy piszę wtf, gdy jakiś program się nie powiedzie, chcę, aby rzucono mi coś miłego ...
Odpowiedzi:
Look In Your
/etc/bash.bashrc
docommand_not_found_handle
definicji funkcji.Jeśli chcesz usunąć to zachowanie, umieść to w swoim .bashrc
Jeśli chcesz dostosować, możesz to zrobić
źródło
declare -p -f command_not_found_handle
Może to być potencjalnie przydatne ...
Pakiet „nie znaleziono komendy” daje magiczną odpowiedź. Nie jestem pewien, czy można to dostosować, ale warto to sprawdzić.
Inną opcją zrobienia tego, co moim zdaniem jest to, co próbujesz zrobić, byłoby dodanie aliasu do pliku .bashrc, który drukuje wiadomość za każdym razem, gdy wpiszesz „wtf” lub coś takiego:
Dodaj to do pliku ~ / .bashrc, a następnie wykonaj:
source $HOME/.bashrc
Spowoduje to po prostu wydrukowanie wiadomości za każdym razem, gdy wpiszesz
wtf
w terminal. Możesz także wywołać ten alias jako skrypt, który drukuje bardziej szczegółową wiadomość lub coś podobnego. Możliwości są nieskończone!źródło
To zachowanie jest zdefiniowane w ogólnosystemowym pliku konfiguracyjnym Bash
/etc/bash.bashrc
:Aby go dostosować, po prostu zastąp tę funkcję we własnym zakresie
~/.bashrc
:źródło
@ user606723, jeśli chcesz pozbyć się tego zachowania w całości:
Jeśli to nie działa, spróbuj tego:
Jeśli chcesz odzyskać to zachowanie:
źródło