¿Por qué no se completa la pestaña de nombres de trabajo de inicio personalizado en el comando de servicio?

16

Estoy acostumbrado a crear servicios de inicio con un archivo /etc/init/<service>.confy funciona perfectamente bien, lo único que me gustaría es completar las pestañas de la misma manera que todos los servicios en /etc/init.d/ lo tienen ahora.

Al escribir sudo service xx, debe aparecer el nombre del servicio.

¿Hay alguna manera de agregar servicios de arranque a esa lista de autocompletado?

José F. Romaniello
fuente
Hola, ¿lo has intentado antes?
rɑːdʒɑ 01 de

Respuestas:

25

Se requiere que cada paquete que proporcione un demonio estándar que use upstart proporcione un enlace simbólico /etc/init.dpor la política de Debian. Así autocompletado para ya funciona. Asegúrese de tener el paquete instalado si tiene problemas.sudo service namebash-completion

Si está creando sus propios trabajos de inicio, entonces haga un enlace simbólico para que le gusten los otros trabajos de inicio. Esto hará que sus propios trabajos funcionen de la misma manera./etc/init.d/your_job/lib/init/upstart-job

Hay trabajos especiales de inicio en los /etc/initque no tiene una entrada correspondiente /etc/init.d. Estas son una excepción. De la política de Debian:

Una excepción a esta regla son los scripts o trabajos proporcionados por la propia implementación init; dichos trabajos pueden ser necesarios para un equivalente específico de implementación de los scripts /etc/rcS.d/ y pueden no tener una correspondencia uno a uno con los scripts de inicio.

Estas excepciones no funcionan actualmente con bash-completion. Sin embargo, se puede utilizar start, stop, restarty reloaddirectamente sin service, y la terminación automática funcionará. Por ejemplo, sudo start shutcorrectamente se completa automáticamente. Pero normalmente no debería necesitar llamar directamente a trabajos de inicio que no tienen una init.dentrada correspondiente .

Nota: Probé esto en Saucy. Si el soporte no aparece en una versión anterior, quizás no esté disponible allí (pero lo obtendrá pronto cuando actualice a una versión suficientemente nueva).

Robie Basak
fuente