Question

Je suis assez inexpérimenté avec Shell (csh dans ce cas) des scripts mais il a été demandé de modifier un. On m'a demandé d'ajouter un fichier de configuration pour le rendre beaucoup plus simple à modifier plusieurs variables spécifiques. Je pensais que c'était stupide parce que c'est un script et la lecture à partir d'un fichier et serait un peu ridicule si je pensais que je pouvais faire un script différent qui fixerait les variables.

Le script parent

#!/bin/csh
...
...

./set_vars

echo $aVar

et mon script set_vars ressemble à quelque chose comme

#!/bin/csh

setenv aVar "400"
echo $aVar

Mais Avar i snot définies dans le script parent.

ma question devient ... Comment puis-je faire les variables du jeu de script enfant que le script parent peut utiliser, ou est-il une meilleure façon d'avoir un fichier de configuration où l'on peut définir des variables.

Cela semble être une façon stupide de le faire, mais la meilleure façon que je peux dire qui ne marche pas besoin d'un fichier IO et a encore un fichier concis pour modifier VARs.

Était-ce utile?

La solution

Vous devez exécuter le script de « set_vars » dans le contexte de ses parents. En C-shell, vous obtenez avec la commande "source":

#!/bin/csh
...
source set_vars
...
echo $aVar
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top