Mon problème est comme ça (OS est Sun Solaris):Quelles variables d'environnement sont disponibles lors du démarrage du script à l'aide du processus de démarrage init.d?
Au moment du démarrage, je veux lancer un processus à l'aide d'un script spécifique. Je le fais en mettant ce script dans
/etc/init.d
(et en suivant d'autres règles K et S).Le programme qui sera appelé par le script est situé au
$HOME/xxx/yyy
. J'utilise'su - {myuser} -c "{full path of the program}"'
pour exécuter le script en tant que {myuser}.Je ne veux pas hardcode la valeur de $ HOME dans le script, mais je veux utiliser uniquement la variable d'environnement
$HOME
. Comment puis-je obtenir cette variable d'environnement$HOME
dans le script shell? Aussi quelles autres variables seront disponibles pour moi?
Une erreur typique de serveur. Doit être déplacé, il peut y avoir plus de réponses qualifiées. – Mnementh
Vous vous rendez compte que c'est un risque pour la sécurité, n'est-ce pas? De toute façon, 'su -' devrait vous donner' $ HOME'. Si vous essayez 'su - user -c" echo \ $ HOME "' cela vous donne-t-il le bon résultat? Est-ce que votre script init.d ne fonctionne pas? Que fait-il/ne fait-il pas? Avez-vous essayé de rediriger la sortie vers un fichier pour le débogage? –