sách gpt4 ăn đã đi

Hoàn thành Bash từ người khác

In lại Tác giả: Walker 123 Thời gian cập nhật: 29-11-2023 09:30:07 26 4
mua khóa gpt4 giày nike

Tôi có một tập lệnh yêu cầu tên lệnh và các đối số cho lệnh đó làm đối số.

Vì vậy mình muốn viết hàm hoàn thiện có chức năng hoàn thiện tên lệnh và hoàn thành các tham số của lệnh đó.

Vậy là mình có thể hoàn thành tên lệnh như thế này

nếu [[ "$COMP_CWORD" == 1 ]]; thì
TRẢ LỜI COMPREPLY=( $( compgen -c ${COMP_WORDS[COMP_CWORD]} ))
khác
#Không biết viết gì ở đây

Do đó, điều này sẽ hoàn thành tham số đầu tiên của danh sách các lệnh shell có thể chạy được. Về lập luận thứ hai và các lập luận khác tôi cần phải hoàn thành${COMP_WORDS[COMP_CWORD]} Đặt hàng.

Tôi đang cân nhắc việc bắt đầu từ TỪ_COMPLE Xóa phần tử đầu tiên trong TỪ_CẬP_PHẦN Trừ một và gọi hàm _${TỪ_COMP[0]}Tên có tiền tố "_" vì trong nhiều ví dụ, các hàm hoàn thành lệnh có tên như thế này, nhưng khi tôi thực thi trong bash hoàn thành -p Vào thời điểm đó, tôi thấy rằng nhiều lệnh được thực hiện bằng cách sử dụng các hàm có tên khác nhau. Đối với tôi, giải pháp như vậy có vẻ rất tệ.

Tôi không phải là chuyên gia viết kịch bản bash nên tôi không biết bắt đầu tìm kiếm giải pháp từ đâu.

câu trả lời hay nhất

Yêu cầu của bạn là một cái gì đó nhưthực hiện hoặcthời gian hoặcxargs Lệnh đã hoàn tất. Các lệnh này cũng bao gồm lệnh và các đối số của lệnh dưới dạng các tùy chọn hoàn thành.

nghiên cứu thực hiện tùy chọn bash_completion:

$ hoàn thành -p exec
hoàn thành -F _command exec

Bạn có thể sử dụng lại chức năng tương tự _yêu cầu như chức năng hoàn thành của bạn ..

cách sử dụng:

hoàn thành -F _command your-script.sh

Về việc hoàn thành Bash từ người khác, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/29231639/

26 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress