
有沒有一種很好的方法來列印(例如到標準輸出)bash 中命令的所有可能完成的列表(如果我鍵入命令,然後按選項卡,它會給我的列表)?
編輯:我想這不是很清楚,現在我又讀了一遍。我知道如何手動完成。我想以程式設計方式完成它。
答案1
bash 沒有一個函數可以做到這一點。可編程完成很大程度上取決於各種參數,例如遊標位置...
eval $(complete -p 'git' | sed s/^complete/compgen/)
似乎能工作,但很脆弱。
答案2
按TAB兩次。大多數類似 BASH 的 shell 都會列出給定子字串的所有符合的自動完成選項。
例如
root@host$apt-get up
TAB在此命令上按兩次將列出Update
和Upgrade
答案3
確保您已bash-completion
安裝該軟體包。根據您的安裝類型,預設可能會也可能不會包含它,如果不是,只需使用yum
或來取得它apt
。安裝後,您需要登出並重新登入或重新啟動.bashrc
才能使用它。
@Amazed 對於如何使用它很準確。
答案4
我認為您所要求的基本上是以給定字串開頭的所有命令的列表。您應該能夠透過獲取系統上所有可執行檔案的清單並透過 grep 運行它們來做到這一點。