Warum ist die Registerkarte mit den benutzerdefinierten Namen für Startaufträge im Servicebefehl nicht vollständig?

16

Ich bin daran gewöhnt, Upstart-Services mit einer Datei in zu erstellen, /etc/init/<service>.confund das funktioniert einwandfrei. Ich möchte nur, dass die Tabulatoren so ausgefüllt werden, wie es derzeit bei jedem Service in /etc/init.d/ der Fall ist.

Beim Schreiben von sudo service xx sollte der Name des Dienstes angezeigt werden.

Gibt es eine Möglichkeit, dieser Autovervollständigungsliste Upstart-Dienste hinzuzufügen?

José F. Romaniello
quelle
Hallo, hast du es schon mal versucht?
Donnerstag,

Antworten:

25

Jedes Paket, das einen Standard-Daemon mit upstart bereitstellt, muss einen Symlink in /etc/init.dder Debian-Richtlinie enthalten. So funktioniert die Autovervollständigung schon. Stellen Sie sicher, dass Sie das Paket installiert haben, wenn Sie Probleme haben.sudo service namebash-completion

Wenn Sie Ihre eigenen Startaufträge erstellen, können Sie über Symlink festlegen , dass die anderen Startaufträge bereits ausgeführt werden. Auf diese Weise arbeiten Ihre eigenen Jobs auf die gleiche Weise./etc/init.d/your_job/lib/init/upstart-job

Es gibt spezielle Upstart-Jobs, in /etc/initdenen kein entsprechender Eintrag vorhanden ist /etc/init.d. Dies sind Ausnahmen. Aus der Debian-Richtlinie:

Eine Ausnahme von dieser Regel bilden Skripte oder Jobs, die von der init-Implementierung selbst bereitgestellt werden. Solche Jobs sind möglicherweise für ein implementierungsspezifisches Äquivalent der Skripte /etc/rcS.d/ erforderlich und haben möglicherweise keine Eins-zu-Eins-Korrespondenz mit den Init-Skripten.

Diese Ausnahmen funktionieren derzeit nicht mit bash-completion. Sie können jedoch verwendet werden start, stop, restartund reloaddirekt ohne service, und die automatische Vervollständigung funktioniert. Beispiel: sudo start shutWird automatisch vervollständigt. Normalerweise sollten Sie jedoch keine Startjobs direkt aufrufen müssen, für die kein entsprechender init.dEintrag vorhanden ist.

Hinweis: Ich habe dies auf Saucy getestet. Wenn die Unterstützung in einer älteren Version nicht angezeigt wird, ist sie möglicherweise dort nicht verfügbar (sie wird jedoch bald nach dem Upgrade auf eine ausreichend neue Version bereitgestellt).

Robie Basak
quelle