Saya akan mengatakan # 2, tetapi sangat dekat dengan # 1 - "Buruk. Buruk. Buruk. Tidak pernah melakukan ini." Standar, seperti itu, untuk skrip init Linux ada di LSB , dan sementara itu tidak pernah keluar dan mengatakan "ini adalah skrip bourne shell", beberapa asumsi dibuat. Satu, bahwa baris yang dimulai dengan # adalah komentar, terjadi dengan baik. Lebih bermasalah adalah persyaratan bahwa skrip init mengeksekusi perintah dari /lib/lsb/init-functions
"di lingkungan saat ini (lihat shell command built-in command dot)".
Tetapi yang lebih penting, jika Anda melakukan sesuatu yang sangat rumit di sini, Anda salah melakukannya. Skrip init harus sangat sederhana dan utilitarian. Seharusnya skrip dalam arti klasik, bukan program. Lebih baik menghisapnya dan membuat skrip shell sederhana agar sysadmin mana saja dapat dengan mudah melakukan grok dalam satu tampilan cepat daripada membuat sesuatu yang indah dan direkayasa dengan Python.
Pertimbangan lain yang perlu diingat adalah systemd
, yang mungkin atau tidak mungkin Masa Depan Dari Semua Inisialisasi Sistem Di Linux. Di bawah systemd, inisialisasi dilakukan oleh file konfigurasi sederhana daripada skrip, idenya adalah bahwa semua startup cocok dengan beberapa pola desain standar dan benar-benar Anda hanya harus memilih satu. Jika program Anda menggunakan sesuatu yang rumit untuk inisialisasi, itu harus keluar dari skrip init itu sendiri.