Je souhaite utiliser un fichier pour stocker le numéro de version actuel d'un logiciel client pouvant être utilisé par un script de démarrage pour exécuter le fichier binaire dans le bon répertoire.Quel est le meilleur moyen d'extraire une chaîne de version à partir d'un fichier?
Par exemple, si le répertoire d'exécution ressemble à ceci:
.
..
1.2.1
1.2.2
1.3.0
run.sh
current_version
Et current_version contient:
1.2.2
Je veux run.sh
descendre dans 1.2.2 et exécuter le programme foo
.
La solution actuelle est la suivante:
#!/bin/sh
version = `cat current_version`
cd $version
./foo
Il fonctionne mais pas très robuste. Il ne vérifie pas l'existence des fichiers, ne peut pas gérer plusieurs lignes, espaces de début, lignes commentées, fichiers vides, etc.
Quelle est la manière la plus fiable de faire cela avec un script shell ou perl?
Je veux éviter les liens parce que Je ne veux pas perturber les instances existantes du programme qui pourraient s'opposer à ce que leur répertoire de travail soit modifié. – Frosty