Newsgroup: it.comp.os.linux.sys
Titolo: comando "date": perchè prende una lingua e non l'altra?

Ciao ragazzi!
BUON ANNO per iniziare...
... ma arrivando al punto:
Ho un problema lanciando degli script notturni, ossia:
se da console lancio "/bin/date +%m-%B" mi rende "01-gennaio", ma quando è
lo script notturno che lo esegue mi restituisce "01-January".
Dove ho sbagliato???
Grazie...

 Dove ho sbagliato???
Lo script notturno probabilmente viene eseguito come utente Nobody o
Root, e questi hanno diverse impostazioni internazionali. Non puoi
forzarlo nel comando stesso ?
Davide


Mi piacerebbe saperlo! Cmq io il crontab l'ho creato come utente "root"!!!
Come mai viene eseguito come altro utente allora???

 Come mai viene eseguito come altro utente allora???
Dal tuo messaggio precedente non si capiva. Allora mi viene da pensare
che root abbia delle impostazioni internazionali in ~/.profile o
qualche cosa del genere, quindi quando sei in console funziona in
un modo, mentre quando non sei in console funziona in modo diverso
(e' per questo che aborrisco le versioni localizzate).
Davide

 (e' per questo che aborrisco le versioni localizzate).
OK, ora come faccio a scovare il problema esattamente??? Ho il file
.bash_profile ... dimmi tu come proseguire, per favore!!!

 .bash_profile ... dimmi tu come proseguire, per favore!!!
Hummm, dovresti verificare come sono impostate le variabili di
ambiente LANG a LC_TIME. 
Prova a vedere come funzia cosi':
$ export LANG=it_IT 
$ export LC_TIME=it_IT
$ date
gio gen  3 09:33:38 CET 2002
$ export LANG=en_EN
$ export LC_TIME=en_EN
$ date
Thu Jan  3 09:33:55 CET 2002
Davide

 ambiente LANG a LC_TIME.
Caspita, non trovo quelle variabili!|!! Questo è il mio file .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
export USERNAME BASH_ENV PATH
GRAZIE ANCORA!

 Caspita, non trovo quelle variabili!
Magari sono in .bashrc o in /etc/profile... comunque che ti frega ?
Aggiungile al tuo script notturno in modo da avere l'output che
vuoi.
Davide

 Caspita, non trovo quelle variabili!|!! Questo è il mio file .bash_profile
[cowo@localhost cowo]$ cat /etc/sysconfig/i18n
SYSFONT=lat0-sun16
LC_CTYPE=it_IT
LC_MONETARY=it_IT@euro
LANGUAGE=it_IT:it
LC_TIME=it_IT
LC_NUMERIC=it_IT
LC_COLLATE=it_IT
LC_MESSAGES=it_IT
LANG=it_IT
SYSFONTACM=iso15
su una mandrake. 
--
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://yoda.ing.unibs.it/~cowo
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! Computer programmers never die, they just get lost in the processing. !>-

 Dove ho sbagliato???
Modifica lo script in modo che imposti le variabile LANG in it_IT e poi
la ripristini. PEr darti un po' di codice pronto:
-----
OLDLANG=`echo $LANG`
NEWLANG="it_IT"		#eventualmente it_IT@euro
export LANG=$NEWLANG
######################
# Resto dello script #
######################
export LANG=$OLDLANG
-----
Cmq se vogliamo essere precisi la variabile OLDLANG non serve a niente e
potresti cambiare direttamente la variabile LANG e fregartene del
ripristinare il vecchio valore (tanto il valore di LANG della shell non
viene toccato)
Henryx
-- 
echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sb20293A2058554E494Csnlbxq'|dc