Export d'une variable d'environnement
toto_au_bresil
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour à tous,
J'ai régulièrement à changer la variable d'environnement CLIENT_LOCALE la tache est pénible à faire sur tout que je la bascule uniquement d'une valeur à une autre (toujours les mêmes) J'ai écrit le script suivant, il m'affiche en_US.819 lorsque je suis en en_US.1252 mais si je fais un echo sur la variable après l'exécution du script il m'affiche en_US.1252.
Je suppose qu'il y a une histoire de portée là dessous. Mais si vous avez une idée pour que la portée soit extérieure à mon script merci beaucoup...
if CLIENT_LOCALE="en_US.1252";
then
export CLIENT_LOCALE="en_US.819";
echo $CLIENT_LOCALE;
else
export CLIENT_LOCALE="en_US.1252";
echo $CLIENT_LOCALE;
fi
J'ai régulièrement à changer la variable d'environnement CLIENT_LOCALE la tache est pénible à faire sur tout que je la bascule uniquement d'une valeur à une autre (toujours les mêmes) J'ai écrit le script suivant, il m'affiche en_US.819 lorsque je suis en en_US.1252 mais si je fais un echo sur la variable après l'exécution du script il m'affiche en_US.1252.
Je suppose qu'il y a une histoire de portée là dessous. Mais si vous avez une idée pour que la portée soit extérieure à mon script merci beaucoup...
if CLIENT_LOCALE="en_US.1252";
then
export CLIENT_LOCALE="en_US.819";
echo $CLIENT_LOCALE;
else
export CLIENT_LOCALE="en_US.1252";
echo $CLIENT_LOCALE;
fi
A voir également:
- Export d'une variable d'environnement
- Export favoris chrome - Guide
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Roissy piac export - Forum Consommation & Internet
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Arrivée en France ROISSY HUB BSCC PIC (93) - Forum Consommation & Internet
2 réponses
Salut,
Déjà, cette syntaxe ne veut rien dire et n'est pas prête d'aboutir ;-\
if CLIENT_LOCALE="en_US.1252";
Déjà, cette syntaxe ne veut rien dire et n'est pas prête d'aboutir ;-\
if [ "${CLIENT_LOCALE}" = "en_US.1252" ] ;serait beaucoup plus adaptée.
Bonjour et merci,
J'ai fait la modification, mais d'une part pour ma culture perso il avait l'air de comprendre l'ancienne syntaxe étant donné qu'à l'exécution il m'affichait bien en_US.819 à la commande echo $CLIENT_LOCALE ?
Et d'autre part j'en suis toujours au même point ça ne fonctionne pas...
Voici le script modifié :
if [ "${CLIENT_LOCALE}" = "en_US.1252" ] ;
then
export CLIENT_LOCALE="en_US.819";
echo $CLIENT_LOCALE;
else
export CLIENT_LOCALE="en_US.1252";
echo $CLIENT_LOCALE;
fi
Merci du temps pris.
J'ai fait la modification, mais d'une part pour ma culture perso il avait l'air de comprendre l'ancienne syntaxe étant donné qu'à l'exécution il m'affichait bien en_US.819 à la commande echo $CLIENT_LOCALE ?
Et d'autre part j'en suis toujours au même point ça ne fonctionne pas...
Voici le script modifié :
if [ "${CLIENT_LOCALE}" = "en_US.1252" ] ;
then
export CLIENT_LOCALE="en_US.819";
echo $CLIENT_LOCALE;
else
export CLIENT_LOCALE="en_US.1252";
echo $CLIENT_LOCALE;
fi
Merci du temps pris.
Je suis sur un OS AIX. Pour ce qui est du shell je suppose que c'est ce qu'on met en haut du fichier donc :
Pour exécuter mon script j'ai juste créer un fichier dans mon $HOME/bin
j'ai mis les droits 777 dessus et ça roule pour mes autres petites commandes récurrentes.
Ce qui est marrant curieux et qui prouve bien toute mon incompétence dans le domaine c'est que lorsque je le source il s'execute correctement... ( source ./bascliloc traitement OK) (basecliloc traitement KO)
alors que si je le lance uniquement en tapant son nom il ne s'exécute pas correctement.
Alors mon script n'est pas un .sh il n'a pas d'extension... est-ce que ça vient de là ?
Pour exécuter mon script j'ai juste créer un fichier dans mon $HOME/bin
j'ai mis les droits 777 dessus et ça roule pour mes autres petites commandes récurrentes.
Ce qui est marrant curieux et qui prouve bien toute mon incompétence dans le domaine c'est que lorsque je le source il s'execute correctement... ( source ./bascliloc traitement OK) (basecliloc traitement KO)
alors que si je le lance uniquement en tapant son nom il ne s'exécute pas correctement.
Alors mon script n'est pas un .sh il n'a pas d'extension... est-ce que ça vient de là ?
lorsque je le source il s'execute correctement...Ben c'est le but et le boulot de la commande
source. Le fait de l'exécuter tout simplement ne permet pas l'export.
Alors mon script n'est pas un .sh il n'a pas d'extension... est-ce que ça vient de là ?Non les extensions ne sont là que pour une meilleures lisibilité, rien de plus.
Je faisais référence au shell, parce que le
shell bourned'origine (sh) ne peut exporter les variables directement, il faut d'abord les déclarer puis les exporter :
var ="blabla"; export var
Ok merci,
Est ce que l'idée de créer un autre fichier dans lequel il y aurait la commande source $HOME/bin/bascliloc serait envisageable ?
En fait la réponse est probablement non parce que j'ai fait le test, mais il y a peut-être une astuce que je n'ai pas ?
L'informaticien est un feignant qui essaye toujours de taper le moins de chose possible...
Est ce que l'idée de créer un autre fichier dans lequel il y aurait la commande source $HOME/bin/bascliloc serait envisageable ?
En fait la réponse est probablement non parce que j'ai fait le test, mais il y a peut-être une astuce que je n'ai pas ?
L'informaticien est un feignant qui essaye toujours de taper le moins de chose possible...