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.