添加init.d服务(chkconfig / shell中的自动补全)

3
我是一个有帮助的助手,可以为您翻译文本。
我已经编写了一个启动脚本(即myserviced)并将其放在/etc/init.d/目录下。
我运行了以下命令:
chkconfig --add myserviced

我可以使用以下方式启动/停止/重启服务:

service myserviced start

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

这是在RHEL上的zsh。

谢谢!


对我来说没问题,即使文件不可执行。尝试在 /etc/init.d 中创建一个痛苦的文件,看看它是否会出现在 zsh 的选项卡自动完成中。 - Bryce
2个回答

15

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

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

-W 将从指定路径创建单词列表,供 'service' 自动完成使用。


4

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

completion会列出/etc/init.d中所有可执行文件,而service本身可能无论权限如何都能正常工作。


1
该文件是可执行文件(但仍未出现在“service <TAB>”的选项补全中)。 - Switch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接