Laurent COOPER <laurent.cooper@ac-grenoble.fr> (2016-04-22): > Oui, pas de problème. J'ai bien un suivi cela, et je n'ai pas de set -e > > Le problème, c'est que c'est la dernière commande exécutée qui retourne > 1, pas par ce que il y a un set -e. Juste par ce que c'est la dernière. > J'ai fait le test avec un script minimaliste […] Oh right, j'étais resté sur la ligne *avant* le do_start, sans voir qu'après coup on refait le même genre de test pour la partie logging, en fonction de "$?". Effectivement, on pourrait imaginer stocker $? et faire un exit avec après la gestion du log, ou bien opter pour une construction différente de « [ "$VERBOSE" != no ] && log_end_msg »… Un rapport de bogue semble une bonne idée. Je ne pense pas que ça soit le type de correction qu'on prenne pour stable cependant. Et le script s'est vidé dans la version que l'on a dans unstable à l'heure actuelle… Maintenant, il semble référencer /lib/init/init-d-script qui contient : do_start() { if is_call_implemented do_start_prepare ; then call do_start_prepare fi [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" call do_start_cmd case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac if is_call_implemented do_start_cleanup ; then call do_start_cleanup fi } Donc ton problème disparaît probablement avec ce if en fin de fonction. KiBi.
Attachment:
signature.asc
Description: Digital signature