Ich bin daran gewöhnt, Upstart-Services mit einer Datei in zu erstellen, /etc/init/<service>.conf
und 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?
Antworten:
Jedes Paket, das einen Standard-Daemon mit upstart bereitstellt, muss einen Symlink in
/etc/init.d
der Debian-Richtlinie enthalten. So funktioniert die Autovervollständigung schon. Stellen Sie sicher, dass Sie das Paket installiert haben, wenn Sie Probleme haben.sudo service name
bash-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/init
denen kein entsprechender Eintrag vorhanden ist/etc/init.d
. Dies sind Ausnahmen. Aus der Debian-Richtlinie:Diese Ausnahmen funktionieren derzeit nicht mit
bash-completion
. Sie können jedoch verwendet werdenstart
,stop
,restart
undreload
direkt ohneservice
, und die automatische Vervollständigung funktioniert. Beispiel:sudo start shut
Wird automatisch vervollständigt. Normalerweise sollten Sie jedoch keine Startjobs direkt aufrufen müssen, für die kein entsprechenderinit.d
Eintrag 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).
quelle