Dlaczego niestandardowa karta nazw zadań wstępnych nie została ukończona w poleceniu serwisowym?

16

Jestem przyzwyczajony do tworzenia usług upstart z plikiem w /etc/init/<service>.confi działa idealnie dobrze, jedyne, co chciałbym, to mieć uzupełnianie tabulatorów w taki sam sposób, jak każda usługa w /etc/init.d/ ma teraz.

Podczas pisania usługi sudo xx powinna pojawić się nazwa usługi.

Czy istnieje sposób na dodanie usług upstart do tej listy autouzupełniania?

José F. Romaniello
źródło
Cześć, próbowałeś już wcześniej?
rɑːdʒɑ

Odpowiedzi:

25

Każdy pakiet, który udostępnia standardowego demona korzystającego z upstartu, jest wymagany do zapewnienia dowiązania symbolicznego zgodnie /etc/init.dz polityką Debiana. Autouzupełnianie już działa. Upewnij się, że masz zainstalowany pakiet, jeśli masz problemy.sudo service namebash-completion

Jeśli tworzysz własne zadania upstart, to dowiązanie symboliczne, aby polubić inne zadania upstart, już działa. Dzięki temu twoje własne prace będą działały w ten sam sposób./etc/init.d/your_job/lib/init/upstart-job

Istnieją specjalne zadania upstart, w /etc/initktórych nie ma odpowiedniego wpisu /etc/init.d. To są wyjątki. Z polityki Debiana:

Wyjątkiem od tej reguły są skrypty lub zadania zapewniane przez samą implementację init; takie zadania mogą być wymagane dla specyficznego dla implementacji odpowiednika skryptów /etc/rcS.d/ i mogą nie mieć bezpośredniej korespondencji ze skryptami init.

Te wyjątki obecnie nie działają bash-completion. Jednakże, można użyć start, stop, restarti reloadbezpośrednio, bez service, i autouzupełnianie będzie działać. Na przykład sudo start shutpoprawnie autouzupełnianie. Ale zwykle nie powinieneś bezpośrednio wywoływać zadań upstart, które nie mają odpowiedniego init.dwpisu.

Uwaga: przetestowałem to na Saucy. Jeśli wsparcie nie pojawia się w starszej wersji, być może nie jest ono tam dostępne (ale dostaniesz je wkrótce po uaktualnieniu do wystarczająco nowej wersji).

Robie Basak
źródło