使用Bash中Complete自動補全命令
阿新 • • 發佈:2019-01-10
大家在Linux下都用shell的TAB自動補全功能,非常方便,但是有時自己開發程式,可能需要自定義實現TAB自動補全功能,這時可能就會用到complete命令來實現對命令的自定義補全,本文主要介紹complete的用法
complete引數詳解
complete [-abcdefgjksuv] [-o comp-option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-Ffunction] [-C command] name [name ...]
- -W wordlist: 自動補全使用的wordlist, 使用IFS分割,會和當前使用者輸入的Word做字首比較,提示那些匹配的word list.
- -S suffix: 向每個自動補全word後新增suffix 字尾.
- -P prefix: 向每個自動補全word後新增prefix 字首.
- -X filterpat: 對於檔名,將匹配pattern的檔名從completion list中移除(exclude), pattern中使用!表示否定
- -G globpat: 對於檔名,將匹配pattern的檔名作為可能的completion. 與-X剛好相反,-X “!*.foo” 與 -G “*.foo”作用相同
- -C command: 將command命令的執行結果作為可能的completion.
- -F function: 執行shell function,在function中對COMPREPLY
- -p [name]: 列印當前自定義的complete
- -r [name]: 刪除當前自定的complete
- -A action : 表示生成可能的completion的方式,包括alias, file, directory等,具體請參看文後的參看資料