2017-10-09 2 views
1

Lors de l'utilisation de fichiers de configuration (variables définies par l'utilisateur dans le fichier), j'ai besoin des conditions ci-dessous. J'ai des variables dans les fichiers de configuration et j'ai besoin de lire les variables à partir des fichiers et l'ordre de priorité. Exemple comme donné ci-dessousUtilisation de variables dans plusieurs fichiers Shell Scripts

Fichier principal de paramètres (par défaut).

param.ini: 
    Var1=today 
    Var3=xyz 

Remplacer fichier de paramètres (modifications override adhoc)

Param.override: 
    var1=yesterday 
    var2=123 

Mon script donné ci-dessous

test.sh: 
    . ~/param.override,~/param.ini 

    echo "run day -> $var1" 

Résultat i besoin est

run day -> yesterday 

Je me souviens que nous pouvons réaliser cela en utilisant dot ope rator ou la commande Source dans Unix. S'il vous plaît aidez-moi quelle sera la syntaxe pour script d'appeler variable à partir de plusieurs fichiers.

+0

Est-ce que [ce] (https://stackoverflow.com/questions/9772036/pass-all-variables-from-one-shellscript-to-another) aide? – mathB

+0

Malheureusement non !! comme mon exigence est plus d'un fichier a une variable avec le même nom, j'ai besoin de contrôler cette valeur du fichier de configuration pas dans le script. Merci d'avoir regardé ça. – Unixhelp

Répondre

0

Ceci: fonctionne pour moi, je ne sais pas si vous avez essayé cela?

$ cat param.ini 
Var1=today 
Var3=xyz 

$ cat param.override 
Var1=yesterday 
var2=123 

$ cat test.sh 
#!/usr/bin/bash 
. ~/cygwin/param.override ~/cygwin/param.ini 

echo "run day -> $Var1" 

$ ./test.sh 
run day -> yesterday 
+0

Merci beaucoup! J'ai essayé avec, et; entre les fichiers. pas essayé avec de l'espace. – Unixhelp

+0

Si cela fonctionne, pourriez-vous accepter la réponse :) – mathB

+0

l'a fait, Nouveau au forun :) – Unixhelp