J'ai un script Bash qui initialise une application et définit des paramètres. Un de ces paramètres est l'emplacement à OpenOffice. Maintenant, OpenOffice ne définit pas de variable d'environnement lorsque vous l'installez.Variables d'environnement Bash et recherche de répertoires d'installation
Quelle est la meilleure méthode pour trouver l'emplacement d'une application installée et mettre en cache cette information afin de ne pas avoir à faire les E/S la prochaine fois? Ce que je pensais était simplement d'exécuter une recherche sur/usr/pour le répertoire OpenOffice qui a un fichier spécifique. Quand il est trouvé stocker ce répertoire dans une variable d'environnement et dans ce script vérifier si la variable d'environnement est définie et est un répertoire, si c'est le cas, sinon rechercher à nouveau.
Ceci permettrait au script de fonctionner sans interaction de l'utilisateur mais aussi de permettre à l'utilisateur de définir lui-même un chemin (puisqu'il s'agit d'une variable d'environnement). Cela ressemble à une «mauvaise pratique», alors j'espère que quelqu'un d'autre peut me donner la manière habituelle d'obtenir des informations sur l'installation d'un logiciel. Si cela aide, OpenOffice sera probablement installé en utilisant aptitude.
Idée intelligente. Ce script est un script /etc/init.d pour gérer un démon. Est-ce que c'est une pratique courante d'avoir à poser ce genre de question quand on court pour la première fois? Peut-être que je devrais leur demander cette information quand ils installent le démon? – William
Oui, je pense que demander quand ils installent le démon est une bonne idée. Demander à partir d'un script init.d n'est pas très bon. Comme il s'agit d'un démon, il serait probablement préférable de laisser tomber le fichier de configuration dans/etc plutôt que dans le répertoire personnel d'un utilisateur. –
En fait encore une autre question. Lorsque vous installez une application en utilisant un système de conditionnement (comme aptitude ou yum) et qu'un paquet a une dépendance sur un autre paquet. Comment sait-il où se trouve le fichier si le paquet dit qu'il est déjà là? Il me semble que les paquets sont installés dans différents répertoires basés sur la distribution, cela pourrait être faux. Est-ce qu'ils vérifient simplement la valeur par défaut? Si ce n'est pas le cas, demandez à l'utilisateur de l'entrer? Vous ne connaissez peut-être pas cette réponse, mais si vous le faites, ce serait utile. :) – William