Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

N'oubliez pas de cocher la case « Ajustement pour l'heure d'été » dans votre profil.

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 02/12/2017, à 10:56

ShellNoob

Script Shell: charger variable environnement .profile ?

Bonjour à tous,

J'ai créé un script qui écrit dans le point .profile des alias de cette forme

echo "alias menu=/recalbox/scripts/menu.sh" >> /recalbox/share/system/.profile

à la fin de mon script je fais un
source ~/.profile

Mon problème c'est que le source ne fonctionne que si je le fais à la main dans la console.
Comment faire depuis le script shell pour qu'il ne source pas le .profile uniquement pour sa propre exécution?

Hors ligne

#2 Le 02/12/2017, à 11:06

pingouinux

Re : Script Shell: charger variable environnement .profile ?

Bonjour,
Lance ton script de cette façon :

.  ./ton_script

Hors ligne

#3 Le 02/12/2017, à 13:27

ShellNoob

Re : Script Shell: charger variable environnement .profile ?

Merci ça fonctionne bien mais j'ai mal exprimé ma problématique

En fait, j'ai un script "chapeau" qui lance un ensemble de script.

install.sh
scripts/deploy.sh
scripts/set_env.sh

Le script set_env.sh créé les alias puis charge le profile

echo "alias menu=/recalbox/scripts/menu.sh" >> /recalbox/share/system/.profile
. /recalbox/share/system/.profile

je lance le script chapeau comme tu m'indiques
. ./install.sh

et là ça fonctionne
Mais est ce qu'il y a un moyen de faire juste
./install.sh

et que ce ce soit le script chapeau qui fasse l'équivalent du . ./ pour le script externe set_env.sh ?

Dernière modification par ShellNoob (Le 02/12/2017, à 13:38)

Hors ligne

#4 Le 02/12/2017, à 14:00

pingouinux

Re : Script Shell: charger variable environnement .profile ?

Pour que les variables définies dans un script appelé remontent au niveau de l'appelant, il faut que l'appelé soit exécuté dans le shell courant, c'est-à-dire que l'appel soit fait ainsi :

.  script_appelé

ou

source  script_appelé

Si le script appelé en appelle un autre, et que tu veux faire remonter des variables, il faur réitérer le processus.

Hors ligne

#5 Le 02/12/2017, à 14:23

ShellNoob

Re : Script Shell: charger variable environnement .profile ?

Toujours au top tes réponses, un grand merci smile

Hors ligne