2017-03-28 37 views
0

我有一個服務,說xyz。截至目前,我可以分別使用命令rcxyz start,rcxyz stop和rcxyz restart來啓動,停止或重新啓動該服務。它工作正常。如何在SLES 12中自動完成命令的選項?

我想要做的只是,如果我鍵入rcxyz並按<TAB>,我想讓三個選項(開始,停止和重新啓動)自動完成。

我提到在計算器其他bash_completion相關的問題,並試圖寫一個虛擬腳本/etc/bash_completion.d/rcxyz.sh內,我已經寫了

complete -c rcxyz 

我期待,當我鍵入rcxyz並按<TAB>,我會得到的名單可用命令作爲參數。但它沒有奏效。

我錯過了什麼嗎?

回答

0

你應該寫:

complete -W 'start stop restart' rcxyz 

查看bash的手冊:

-W 單詞表

單詞表IFS 特殊使用字符分割變量爲分隔符,並且每個結果詞 已擴展。可能的完成項是匹配正在完成的單詞的結果列表的成員 。

+0

工程就像一個魅力!非常感謝 :) – pseudonym