Perché la scheda dei nomi dei processi di avvio personalizzati non viene completata nel comando di servizio?


16

Sono abituato a creare servizi upstart con un file /etc/init/<service>.confe funziona perfettamente, l'unica cosa che mi piacerebbe è avere il completamento delle schede allo stesso modo di tutti i servizi in /etc/init.d/ in questo momento.

Quando si scrive sudo service xx, deve apparire il nome del servizio.

C'è un modo per aggiungere servizi upstart all'elenco di completamento automatico?


Ciao, ci hai provato prima?
rʒɑdʒɑ

Risposte:


25

Ogni pacchetto che fornisce un demone standard usando upstart è tenuto a fornire un collegamento simbolico /etc/init.dtramite la politica Debian. Quindi il completamento automatico per già funziona. Assicurati di avere installato il pacchetto in caso di problemi.sudo service namebash-completion

Se stai creando i tuoi lavori upstart, allora il collegamento simbolico a quello che stanno già facendo gli altri lavori upstart. Ciò farà funzionare i tuoi lavori allo stesso modo./etc/init.d/your_job/lib/init/upstart-job

Esistono lavori di avvio speciali in /etc/initcui non è presente una voce corrispondente /etc/init.d. Queste sono un'eccezione. Dalla politica Debian:

Un'eccezione a questa regola sono gli script o i lavori forniti dalla stessa implementazione di init; tali lavori possono essere richiesti per un equivalente specifico dell'implementazione degli script /etc/rcS.d/ e potrebbero non avere una corrispondenza uno a uno con gli script init.

Queste eccezioni non funzionano attualmente con bash-completion. Tuttavia, è possibile utilizzare start, stop, restarte reloaddirettamente senza service, e il completamento automatico funzionerà. Ad esempio, si sudo start shutcompleta automaticamente. Ma normalmente non è necessario chiamare direttamente i lavori di avvio che non hanno una init.dvoce corrispondente .

Nota: l'ho provato su Saucy. Se il supporto non viene visualizzato in una versione precedente, forse non è disponibile lì (ma lo otterrai presto quando esegui l'aggiornamento a una versione sufficientemente nuova).


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.