Tôi không quen thuộc với ngữ nghĩa của "- @" trong đoạn mã bash bên dưới, là từ /etc/bash_completion.d/subversion. Tôi đang cố gắng để hiểu tại sao báo cáo bash "lỗi cú pháp gần dấu hiệu bất ngờ '(' trên dòng này, tôi có hai câu hỏi:Cú pháp trường hợp Bash - ý nghĩa của "- @"
- là gì? '- @()' dự kiến sẽ làm ở đây
Tại sao có thể bash được hài lòng với tuyên bố này?
case $prev in # other cases omitted [email protected](F|-file|-targets)) _filedir return 0; ;; # other cases omitted esac
Tôi đoán "- @ (F | -file | -targets)" tương đương với "-F | --file | --targets" (trong đó '|' có nghĩa là "hoặc"), nhưng tôi là thiên đường ' t có thể xác nhận từ tài liệu. –
http://www.gnu.org/software/bash/manual/bashref.html#Pattern-Matching Xem phần dưới cùng của phần nơi 'extglob' được đề cập. – ephemient