2010-11-18 8 views
0

Je voudrais définir des variables d'environnement dans bash chaque fois que j'utilise un script dans le répertoire ~/projet/bash dossierComment puis-je définir automatiquement les variables d'environnement lorsque des fichiers d'un répertoire particulier sont exécutés?

actuellement, pour exécuter des scripts dans ce dossier, je dois courir:

cd ~/project/bash 
. ./project/bash/env.vars.sh 

premier , Je voudrais que ces variables soient automatiquement définies, de préférence lorsque les scripts sont utilisés ou que l'utilisateur change pour ~/project ou dans celui-ci.

Merci!

Répondre

2

Je ne suis pas au courant de quoi que ce soit qui fera quelque chose quand un script est exécuté. La chose la plus proche que je peux voir à ce que vous avez besoin est de mettre:

. ./project/bash/env.vars.sh 

sur le début de chacun des scripts.

Si c'est une option pour vous, vous pouvez créer un utilisateur spécial qui aurait la ligne ci-dessus dans ~/.bashrc, afin que l'environnement soit configuré automatiquement lors de la connexion.

+0

donc, je pourrais ajouter ce qui suit à un script de configuration qu'ils doivent seulement exécuter la première fois?: If! grep env.vars.sh ~/.bash_aliases>/dev/null; \t echo "./project/bash/env.vars.sh" >> ~/.bash_aliases ; fi –

+0

'~/.bash_aliases' n'est pas un script standard de démarrage bash (par 'man bash' - section INVOCATION et aussi http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html) - utilisez '~/.bashrc', mais vous êtes sur le bon chemin. Notez que cela le configurera pour chaque connexion, donc si vous êtes en train de vous tromper avec quelque chose comme 'PATH', assurez-vous de le leur dire, car cela peut leur donner beaucoup de maux de tête. –

+0

merci pour la clarification. Je vais utiliser .bashrc. bien que l'env. les vars définissent des chemins, ils n'affectent pas réellement la variable PATH (ils en établissent juste de nouveaux comme "PROJECTIN = ~/project/in".) cela devrait être correct? –

Questions connexes