加入

2011-09-30 16 views
3

我做了一個啓動腳本的init.d服務(chkconfig的/自動完成的外殼),(即myserviced),並把它/etc/init.d/boot.d中加入

我跑

chkconfig --add myserviced 

我可以開始/停止/重新啓動該服務只是覺得使用:

service myserviced start 

等。但是,我注意到,當我輸入「服務」,然後做TAB(以獲得儘可能完整的列表),我不在可能的完成列表中看不到我的服務(它列出所有其他服務)。如何將myserviced添加到自動完成列表中?

這是在RHEL上的zsh。

感謝

+0

適用於我,即使該文件不可執行。嘗試在/etc/init.d中創建一個痛苦文件,並查看它是否顯示在zsh tab完成中。 – Bryce

回答

4

確保myserviced是 「可執行」。 (即chmod +x /etc/init.d/myserviced

完成列出了所有可執行文件/etc/init.d,而service本身可以不管許可的工作。

+1

該文件是可執行文件(並且仍然不會顯示在「服務」的選項卡完成中) – Switch

15

您可以使用下面的命令在/etc/init.d/添加列出的所有腳本服務命令:

complete -W "$(ls /etc/init.d/)" service 

-W將建立從「服務」將使用自動的($)指定的路徑單詞列表完成。