Mengapa tab nama pekerjaan baru kustom tidak lengkap dalam perintah layanan?

16

Saya terbiasa membuat layanan pemula dengan file /etc/init/<service>.confdan berfungsi dengan baik, satu-satunya hal yang saya ingin lakukan adalah memiliki penyelesaian tab dengan cara yang sama seperti yang dimiliki setiap layanan di /etc/init.d/ sekarang.

Saat menulis layanan sudo xx nama layanan harus muncul.

Apakah ada cara untuk menambahkan layanan pemula ke daftar penyelesaian otomatis?

José F. Romaniello
sumber
Hai, sudahkah Anda mencoba sebelumnya?
rɑːdʒɑ

Jawaban:

25

Setiap paket yang menyediakan daemon standar menggunakan pemula baru diperlukan untuk memberikan symlink /etc/init.doleh kebijakan Debian. Jadi pelengkapan otomatis untuk yang sudah berfungsi. Pastikan Anda memiliki paket yang diinstal jika Anda mengalami masalah.sudo service namebash-completion

Jika Anda membuat pekerjaan pemula baru Anda sendiri, maka symlink untuk menyukai pekerjaan pemula baru lainnya sudah dilakukan. Ini akan membuat pekerjaan Anda sendiri bekerja dengan cara yang sama./etc/init.d/your_job/lib/init/upstart-job

Ada pekerjaan pemula baru khusus /etc/inityang tidak memiliki entri yang sesuai di /etc/init.d. Ini adalah pengecualian. Dari Kebijakan Debian:

Pengecualian untuk aturan ini adalah skrip atau pekerjaan yang disediakan oleh implementasi init itu sendiri; pekerjaan seperti itu mungkin diperlukan untuk setara implementasi khusus dari skrip /etc/rcS.d/ dan mungkin tidak memiliki korespondensi satu-ke-satu dengan skrip init.

Pengecualian ini saat ini tidak bekerja dengan bash-completion. Namun, Anda dapat menggunakan start, stop, restartdan reloadlangsung tanpa service, dan autocompletion akan bekerja. Misalnya, sudo start shutpelengkapan otomatis dengan benar. Tetapi Anda biasanya tidak perlu secara langsung memanggil pekerjaan pemula yang tidak memiliki init.dentri yang sesuai .

Catatan: Saya menguji ini pada Saucy. Jika dukungan tidak muncul dalam rilis yang lebih lama, mungkin itu tidak tersedia di sana (tetapi Anda akan segera mendapatkannya ketika Anda meningkatkan ke rilis yang cukup baru).

Robie Basak
sumber