Và làm thế nào để nó cũng tự động điền bí danh?
Và làm thế nào để nó cũng tự động điền bí danh?
Câu trả lời:
Tùy thuộc vào lệnh:
/etc/bash_completion.d/*
(hoặc một vị trí khác trên một số hệ thống). Các chức năng này được đăng ký với tích hợp (ví dụ: bash gọi hàm khi bạn nhấn vào lệnh). Họ sử dụng tính năng tích hợp sẵn để nói với bash Đây là những cách hoàn thành có thể có.complete
complete -F _find find
_find
Tabfind
compgen
--help
và phân tích đầu ra. Các lệnh như vậy có thể được đăng ký với tích complete
hợp, ví dụ complete -F _longopt ls
. _longopt
thực tế là một hàm tạo hoàn thành, điều này xảy ra để phân tích đầu ra của lệnh thay vì sử dụng một danh sách cố định. (Có các hàm hoàn thành chuyên biệt khác phân tích đầu ra của lệnh để tạo ra các hoàn thành có thể; xem xét /etc/bash_completion.d/*
các ví dụ.)complete
built-in có các tùy chọn cho điều đó, ví dụ như -A
cho bí danh.Hỗ trợ hoàn thành bash được cung cấp trong Debian và Ubuntu bởi gói hoàn thành bash . Bạn cũng thường cần bỏ ghi chú sau /etc/bash.bashrc
và / hoặc .bashrc
nguồn các tệp hoàn thành bash. Sau đây là từ /etc/bash.bashrc
:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
để làm việc này Tôi thường không chú ý đến nó trong cả hai. Việc xử lý các shell tương tác / đăng nhập trong Debian là một mớ hỗn độn.
Nhận xét tương tự có lẽ áp dụng cho các bản phân phối khác, mặc dù có thể chúng cho phép tìm nguồn cung ứng theo mặc định.