View previous topic :: View next topic |
Author |
Message |
evangeliste n00b

Joined: 04 Oct 2006 Posts: 13
|
Posted: Tue Oct 10, 2006 8:24 am Post subject: [VARIABLE D'ENVIRONNEMENT] pour script charger dans init.d |
|
|
Bonjour,
Au démarrage de ma gentoo je lance un programme via le script d'initialisation suivant :
Code: | #!/sbin/runscript
depend() {
after *
}
start() {
ebegin "YMC2O1 demarre"
alsactl restore
/bin/sh /home/matt/launch_YMC_201.sh
eend $?
} |
Mon problème est la disponibilité des variables d'environnements pour ce programme si à l'intérieur de ce programme j'exécute un env j'obtiens ceci :
CONSOLE=/dev/console
TERM=linux
DEFAULTLEVEL=default
CRITICAL_SERVICES=checkroot hostname modules checkfs localmount clock bootmisc
INIT_VERSION=sysvinit-2.86
AUTOBOOT=YES
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/sbin:/usr/sbin
RUNLEVEL=3
PWD=/home/matt/script
PREVLEVEL=N
BOOTLEVEL=boot
SVCNAME=ymc
HOME=/
SHLVL=4
BOOT_IMAGE=GENTFS
SOFTLEVEL=default
OLDSOFTLEVEL=boot
_=/bin/env
Je souhaiterais disposer pour ce programme de l'ensemble de mes variables d'environnements car j'y exécute des applications qui font appels à des variables tels LANG , LC_TYPE ect... qui elles sont disponibles lorsque je me connecte en réseau via le sshd si j'exécute env.
J'ai testé en lançant un env-update dans mon programme mais il semble charger les mêmes variables comme si il n'était pas dans le même domaine que celui que j'ai lorsque je suis en mode console.
Voilà d'autres informations qui peuvent être utiles à la compréhension de mon problème lorsque j'exécute locale dans mon programe j'obtiens ceci:
[list=]LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=[/list]
Si j'exécute locale via sshd alors que mon programme tourne toujours j'obtiens ce que je voudrais dans tous les cas:
[list=]LANG=fr_FR@euro
LC_CTYPE="fr_FR@euro"
LC_NUMERIC="fr_FR@euro"
LC_TIME="fr_FR@euro"
LC_COLLATE="fr_FR@euro"
LC_MONETARY="fr_FR@euro"
LC_MESSAGES="fr_FR@euro"
LC_PAPER="fr_FR@euro"
LC_NAME="fr_FR@euro"
LC_ADDRESS="fr_FR@euro"
LC_TELEPHONE="fr_FR@euro"
LC_MEASUREMENT="fr_FR@euro"
LC_IDENTIFICATION="fr_FR@euro"
LC_ALL=fr_FR@euro[/list]
Merci d'avance |
|
Back to top |
|
 |
evangeliste n00b

Joined: 04 Oct 2006 Posts: 13
|
Posted: Tue Oct 10, 2006 9:50 am Post subject: update |
|
|
Si je réalise un
Code: | #export LC_ALL=fr_FR@euro | dans mon programme lancer au démarrage je retrouve alors mes variables d'environnement lorsque je fait un env ou un local au sein du programme cependant cela ne semble pas affecter mes programmes.
Par exemple au sein de mon programme je réalise le taggage d'un fichier flac à l'aide de metaflac.
Code: | #Je tag le fichier
metaflac --set-tag="type=français" test.flac
#visualisons le résultat
metaflac --show-tag="type" test.flac
type=fran#ais |
La même opération réaliser en mode console connecté via le sshd
Code: | #Je tag le fichier
metaflac --set-tag="type=français" test.flac
#visualisons le résultat
metaflac --show-tag="type" test.flac
type=français |
Alors que je dispose désormais de ce résultat au sein de mon programme à l'exécution de locale
LANG=fr_FR@euro
LC_CTYPE="fr_FR@euro"
LC_NUMERIC="fr_FR@euro"
LC_TIME="fr_FR@euro"
LC_COLLATE="fr_FR@euro"
LC_MONETARY="fr_FR@euro"
LC_MESSAGES="fr_FR@euro"
LC_PAPER="fr_FR@euro"
LC_NAME="fr_FR@euro"
LC_ADDRESS="fr_FR@euro"
LC_TELEPHONE="fr_FR@euro"
LC_MEASUREMENT="fr_FR@euro"
LC_IDENTIFICATION="fr_FR@euro"
LC_ALL=fr_FR@euro
|
|
Back to top |
|
 |
evangeliste n00b

Joined: 04 Oct 2006 Posts: 13
|
Posted: Tue Oct 10, 2006 10:33 am Post subject: on avance |
|
|
Bon je devais probablement pas activer les bonnes variables d'environnements car avec ces commandes exécutées dans mon programme les caractères accentués fonctionnent
Code: | export LC_ALL=fr_FR@euro
export LANG=fr_FR@euro
export LANGUAGE=fr_FR@euro
env-update
locale >jj
env >>jj
metaflac --set-tag="test=héllÖî" /home/matt/YMC\ 201.flac
|
cependant les variables d'environnements ne sont pas conservés vais je devoir rexécuté ces export à chaque fois que je taggerais un fichiers? |
|
Back to top |
|
 |
|