Trong tập lệnh hoàn thành bash, giả sử COMPREPLY=(aa/ba/ aa/bb/)
. Khi tập lệnh được gọi, các tùy chọn hoàn thành trông giống như thế này cho người dùng:Chỉ hiển thị các phần tử của tùy chọn hoàn thành bash COMPREPLY cho người dùng
$ foo aa/b<TAB>
aa/ba/
aa/bb/
Tuy nhiên, tôi muốn kiểm soát nhiều hơn cách các tùy chọn này được hiển thị. Đặc biệt, tôi muốn chỉ hiển thị một chuỗi con của mỗi tùy chọn COMPREPLY cho người sử dụng, tương tự như cách hoàn thư mục làm việc trong bash bây giờ:
$ foo aa/b<TAB>
ba/
bb/
Có cách nào để làm điều này trong bash?
Tuyệt vời! Bây giờ tôi chỉ cần tìm ra cách bật/tắt các tùy chọn có chọn lọc cho các trường hợp 'COMPREPLY' khác nhau trong chức năng của tôi, * mà không * sử dụng 'compopt' –