Cách bật tính năng tự động hoàn thành trong thiết bị đầu cuối

điều này tip hữu ích cho tất cả những người sử dụng thường xuyên (hàng ngày) thiết bị đầu cuối hoặc giao diện điều khiển trên hệ thống GNU / Linux.

Trước khi bắt đầu

Trong trường hợp chúng tôi chưa cài đặt gói hoàn thành bash, chúng tôi cài đặt nó:

aptitude install bash-complete

Bật tính năng tự động hoàn thành trên TTY cho tất cả người dùng

Chúng tôi mở / etc / profile

nano / etc / profile

Chúng tôi xem xét trong / etc / profile để biết các dòng sau ...

# cho phép hoàn thành bash trong trình bao tương tác
#if [-f / etc / bash_completion] &&! shopt -oq posix; sau đó
#. / etc / bash_completion
#fi

Và chúng tôi thay thế bằng:

nếu ["$ BASH"]; sau đó
       if [-f / etc / bash_completion] &&! shopt -oq posix; sau đó
            . / etc / bash_completion
       fi
fi

Sau đó sẽ kích hoạt bash_completion cho tất cả người dùng, bao gồm cả root. Nhưng nó sẽ chỉ kích hoạt nó trên TTY, không phải trên trình giả lập đầu cuối.

Chúng tôi đặt lại TTY và thế là xong.

Như bạn có thể thấy, chúng tôi đã thêm if vào tệp gốc, điều này xác nhận rằng bash_completion chỉ chạy khi chúng tôi ở trong Bash. Nếu không có điều kiện đó, GDM sẽ cung cấp cho chúng ta lỗi đã đề cập trước đó, vì GDM sẽ gọi bash_completion và vì một số lý do mà nó xung đột với xsession.

Bật tính năng tự động hoàn thành trong trình giả lập đầu cuối cho tất cả người dùng

Chúng tôi mở /etc/bash.bashrc

# nano /etc/bash.bashrc

Chúng tôi xem xét trong /etc/bash.bashrc để biết những dòng sau ...

# cho phép hoàn thành bash trong trình bao tương tác
#if [-f / etc / bash_completion] &&! shopt -oq posix; sau đó
#. / etc / bash_completion
#fi

... Và chúng tôi xóa "#" (chúng tôi bỏ ghi chú chúng), trông như thế này:

# cho phép hoàn thành bash trong trình bao tương tác
if [-f / etc / bash_completion] &&! shopt -oq posix; sau đó
    . / etc / bash_completion
fi

Sau đó sẽ kích hoạt bash_completion cho tất cả người dùng, bao gồm cả root. Nhưng nó sẽ chỉ kích hoạt nó trên trình giả lập đầu cuối chứ không phải trên TTY.

Chúng tôi khởi động lại bất kỳ thiết bị đầu cuối nào và các thay đổi sẽ có hiệu lực.

Bật tính năng tự động hoàn thành trong trình mô phỏng thiết bị đầu cuối chỉ cho một người dùng

Chúng tôi phải tạo (hoặc chỉnh sửa, nếu nó tồn tại) tệp ~ / .bashrc.

nano ~ / .bashrc

Chúng tôi thêm (hoặc tìm kiếm nếu chúng không tồn tại, nhưng đã nhận xét, như được thực hiện trong /etc/bash.bashrc) để nó trông giống như sau:

# cho phép hoàn thành bash trong trình bao tương tác
if [-f / etc / bash_completion] &&! shopt -oq posix; sau đó
    . / etc / bash_completion
fi

- Nếu tệp chúng tôi tạo ra, chúng tôi chỉ cần thêm các dòng này.
- Nếu những dòng này tồn tại nhưng không hiện diện, chúng ta thêm chúng vào cuối tệp.
- Nếu nó tồn tại và có những dòng này, chúng tôi chỉ cần bỏ ghi chú chúng.

Chúng tôi khởi động lại bảng điều khiển và các thay đổi sẽ có hiệu lực.

Bật tự động hoàn thành khi muốn

Chúng tôi chỉ cần chạy bash_completion tại thời điểm chúng tôi muốn sử dụng nó. Nó sẽ bị vô hiệu hóa khi chúng ta kết thúc phiên trong thiết bị đầu cuối (bằng lệnh thoát) hoặc đóng thiết bị đầu cuối đang sử dụng nếu chúng ta đang ở trong môi trường đồ họa. Để chạy nó bất cứ khi nào chúng tôi muốn, chúng tôi làm:

. / etc / bash_completion
Cảm ơn Carlos Fioriti!

Nguồn: Sổ tay năm 98


Thêm vào danh sách nguồn ưu tiên trên Google.