添加init.d服务(shell中的chkconfig / autocomplete)

时间:2011-09-30 19:35:55

标签: linux service autocomplete zsh system-administration

我已经创建了一个启动脚本(即myserviced)并将其放在/etc/init.d /

我跑了

chkconfig --add myserviced

我可以使用以下命令启动/停止/重启服务:

service myserviced start

等。但是,我注意到当我输入“service”然后执行TAB(获取可能的完成列表)时,我没有在可能的完成列表中看到myserviced(它列出了所有其他服务)。如何将myserviced添加到自动完成列表?

这是在RHEL上的zsh。

由于

2 个答案:

答案 0 :(得分:15)

您可以使用以下命令将/etc/init.d/中列出的所有脚本添加到服务命令中:

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

-W将从($)指定的路径创建单词列表,'service'将用于自动完成。

答案 1 :(得分:4)

确保myserviced是“可执行的”。 (即chmod +x /etc/init.d/myserviced

完成会在/etc/init.d中列出所有可执行文件文件,而service本身可能无论权限如何都可以使用。