J'ai l'habitude de créer des services upstart avec un fichier dans /etc/init/<service>.conf
et cela fonctionne parfaitement bien, la seule chose que j'aimerais, c'est avoir l'achèvement des onglets de la même manière que tous les services dans /etc/init.d/ ont actuellement.
Lors de l'écriture de sudo service xx, le nom du service doit apparaître.
Existe-t-il un moyen d'ajouter des services parvenus à cette liste de saisie semi-automatique ?
Réponse acceptée :
Chaque paquet qui fournit un démon standard utilisant upstart doit fournir un lien symbolique dans /etc/init.d
par la politique Debian. Donc auto-complétion pour sudo service name
fonctionne déjà. Assurez-vous que vous avez le bash-completion
package installé si vous rencontrez des problèmes.
Si vous créez vos propres jobs, alors le lien symbolique /etc/init.d/your_job
vers /lib/init/upstart-job
comme les autres emplois parvenus le font déjà. Ainsi, vos propres tâches fonctionneront de la même manière.
Il y a des travaux spéciaux de démarrage dans /etc/init
qui n'ont pas d'entrée correspondante dans /etc/init.d
. Ceux-ci sont une exception. De la politique Debian :
Une exception à cette règle concerne les scripts ou les travaux fournis par l'implémentation init elle-même; ces travaux peuvent être requis pour un équivalent spécifique à l'implémentation des scripts /etc/rcS.d/ et peuvent ne pas avoir de correspondance un à un avec les scripts init.
Ces exceptions ne fonctionnent pas actuellement avec bash-completion
. Cependant, vous pouvez utiliser start
, stop
, restart
et reload
directement sans service
, et la saisie semi-automatique fonctionnera. Par exemple, sudo start shut
s'autocomplète correctement. Mais vous ne devriez normalement pas avoir besoin d'appeler directement les travaux parvenus qui n'ont pas de init.d
correspondant entrée.
Remarque:j'ai testé cela sur Saucy. Si le support n'apparaît pas dans une ancienne version, il n'y est peut-être pas disponible (mais vous l'obtiendrez bientôt lorsque vous effectuerez une mise à niveau vers une version suffisamment nouvelle).