J'ai essayé de créer un script d'initialisation en utilisant start-stop-daemon. Je suis bloqué sur les arguments du démon. Je veux les garder dans une variable en haut du script mais je ne peux pas obtenir les citations à filtrer correctement.arguments cotés start-stop-daemon mal interprétés
Je vais utiliser ls ici, donc nous n'avons pas à regarder les binaires et les arguments que la plupart des gens ne connaissent pas ou ne se soucient pas.
Le résultat final Je cherche est start-stop ... pour exécuter ls- "/ dossier avec l'espace /"
DAEMON=/usr/bin/ls
DAEMON_OPTS='-la "/folder with space/"'
start-stop-daemon --start --make-pidfile --pidfile $PID --exec $DAEMON -- $DAEMON_OPTS
Double échapper aux options et à essayer d'innombrables variations de citations n'aide pas ... Alors ils finissent au démon ils sont toujours foirés. Enfermer $ imprime DAEMON_OPTS entre guillemets change les choses ... ils sont considérés comme une citation depuis ... jamais le bon nombre bien :)
Faisant écho à la ligne de commande (start-stop ...) exactement bonnes choses à l'écran. Mais le démon (le vrai, pas ls) se plaint du mauvais nombre d'arguments.
Comment est-ce que je spécifie une variable pour que les citations à l'intérieur soient amenées correctement au démon?
Pour clarifier. J'ai essayé beaucoup de variations de citation habituelles. guillemets simples à l'intérieur, "-la '/ dossier ... double guillemets simples à l'intérieur,' -la"/dossier ... guillemets échappés, "-la \"/dossier ... \ "" en utilisant seulement backslash pour chaque espace à la place, dossier \ avec ... J'imagine vaguement que le problème est en quelque sorte avec start-stop-daemon et ses interprétations ... mais cela n'a pas beaucoup de sens non plus depuis le remplacement de la variable sur le ligne de commande donne des résultats fonctionnels. –