Eu diria # 2, mas muito próximo do # 1 - "Bad. Bad. Bad. Nunca faça isso." O padrão, como é, para scripts de inicialização do Linux, é o LSB , e embora nunca saia e diga que "estes são roteiros de shell de bourne", várias suposições são feitas. Primeiro, as linhas que começam com # são comentários, funcionam bem. Mais problemático é o requisito de que o script de inicialização execute os comandos de /lib/lsb/init-functions
"no ambiente atual (consulte ponto de comando interno especial do shell)".
Mas o mais importante, se você está fazendo algo realmente complicado aqui, você está fazendo errado. Os scripts de inicialização devem ser muito simples e utilitários. Eles devem ser scripts no sentido clássico, não em programas. É melhor sugá-lo e fazer um script de shell simples que qualquer sysadmin pode facilmente criar uma aparência rápida do que fazer algo bonito e projetado em Python.
Outra consideração a ter em conta é systemd
, que pode ou não ser o futuro de todos Inicialização do Sistema No Linux. Sob systemd, a inicialização é feita por arquivos de configuração simples, em vez de scripts, a idéia é que toda a inicialização se encaixa em vários padrões de design padrão e realmente você deve apenas escolher um. Se você programa usa algo complicado para inicialização, isso deve ser feito fora do próprio script de inicialização.