Σε Debian Stretch server εγκατάσταση, όταν δίνεις μια εντολή που δεν υπάρχει στο σύστημα, το Debian απλά σου λέει ότι δεν υπάρχει (π.χ. bash: patch: command not found
), χωρίς να σου δίνει ένα ωραίο hint που θα το βρεις -- όπως έχουμε συνηθίσει στα desktops μας. Αυτό γίνεται γιατί δεν υπάρχει το πακέτο command-not-found.
Η εγκατάσταση του command-not-found είναι κλασικά απλή:
apt install command-not-found
Απλά χρειάζεται μετά να κάνεις update τη βάση δεδομένων του:
update-command-not-found
Και να κάνεις logout/login ξανά ή να κάνεις source το /etc/bash.bashrc
ή απλά να βάλεις στο ~/.bashrc
τα παρακάτω:
command_not_found_handle() { if [ -x /usr/lib/command-not-found ]; then /usr/lib/command-not-found -- "$1" return $? else return 127 fi }
Και να το κάνεις source.
Φόρουμ
Δώσε αστέρια!
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε
Σχόλια
για όσους χρησιμοποιούμε πλέον zsh τι πρέπει να γίνει ;;
βασικά το έχω βάλει το framework του oh-my-zsh
Που' σαι βρε Κλέαρχε; :)
Χμ... δεν έχω ιδέα για την ερώτησή σου. Από όσο ξέρω το zsh δεν υπακούει στις ρυθμίσεις που υπάρχουν στο αρχείο .bashrc. Οπότε μια λύση ίσως είναι να βάλεις τη συνάρτηση command_not_found_handle() στο .profile και να κάνεις source το τελευταίο:
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
Ακόμα και τότε όμως ΔΕΝ είμαι σίγουρος ότι θα παίξει, μια και το command_not_found_handle() δεν ξέρω κατά πόσο είναι συμβατό με το zsh.
Γιατί όμως zsh ;