Dans ton cas, il faut utiliser () et non [], exemple:
Ca marche, mais c'est inutile de lancer un sous-processus. Il n'y a tout simplement rien à mettre, et pour plusieurs commandes, il y a {}.
De toute façon, écrire if su jul -c /usr/local/bin/mlnet & then
# ...
n'a aucun sens. La seule chose qu'on peut vérifier à ce stade, c'est que /usr/local/bin/mlnet existe et est exécutable par jul. Est-ce que mlnet s'initialisera correctement ? Ca, on le saura bien après, et bash doit prendre sa décision avant.
"Si une commande se termine par l'opérateur de contrôle &, l'interpréteur l'exécute en arrière-plan, dans un sous-shell. L'interpréteur n'attend pas que la commande se termine et retourne un code 0." (man bash)
Peut-être que mlnet propose un paramètre pour rester en tâche de fond et retourner.
[^] # Re: re
Posté par lcld . En réponse au message rc.local mlnet. Évalué à 1.
De toute façon, écrire
if su jul -c /usr/local/bin/mlnet & then
# ...
n'a aucun sens. La seule chose qu'on peut vérifier à ce stade, c'est que /usr/local/bin/mlnet existe et est exécutable par jul. Est-ce que mlnet s'initialisera correctement ? Ca, on le saura bien après, et bash doit prendre sa décision avant.
Peut-être que mlnet propose un paramètre pour rester en tâche de fond et retourner.