[bglug] dvd-slideshow: printf da errore un computer si ed uno no

dario.anzani@cheapnet.it dario.anzani@cheapnet.it
Gio 29 Maggio 2008 21:50:58 CEST


Citando Jimmi <jimmi@bglug.it>:

>> dario.anzani@cheapnet.it ha scritto:
>> Perverso comunque usare la shell per fare ste' cose, IMHO....
>
> Se funzionasse perchč no? Se giā trovi programmi che fanno bene le cose
> una alla volta, č meglio cucirle assieme :)

bhe' anche la torta e il minestrone sono buoni. ma non mi
risulta che cotti insieme diventino una prelibatezza....

Piu' seriamente, in un mondo ideale lo scripting serve per il prototyping,
e non per lo sviluppo reale di applicazioni. Poi, un conto e' uno script
su una mia macchina che fa un'attivitā ben precisa, un conto e' uno
script che rilascio al mondo spacciandolo come applicazione; non dico
che sia sbagliato a priori, semmai dico che l'audience e' diversa....

Comunque...


>
>> 1) sostituendo manualmente tutte le occorrenze di funzioni
>> internazionalizzate
>> (ad esempio printf) con i separatori e/o caratteri speciali da inglesi a
>> italiani - metodo lungo e poco efficace
>
> non comprendo bene, nel caso di una riga come questa (n. 5415):
> x1_dec=`printf %3.3f "$x1" | awk -F. '{print "0."$2}'`;
>
> cosa significa?

spawna una shell, facci girare dentro una printf che formatta il valore
di $x1 come float con 3 caratteri di precisione a destra e tre a sinistra
del punto, poi pigliati solo i tre a destra (cioe' i decimali) e schiaffaci
uno zero e un punto davanti, e infine trasferisci l'output della shell
alla variabile x1_dec. Una barbonata detto fra noi. Faceva tutto con awk
e non rischiava di incappare nell'errore legato al locale, come succede nel
tuo caso.


>
>> 2) facendo
>> # export LANG="en_US.UTF-8"
>> all'inizio di ogni singolo script, o nel profile dell'utente.
>
> Nix, non funziona :(


Bhe' piu' o meno all'inizio dello script c'e' questo:

LANG=C

quindi direi che ti riscrive il contenuto della export che ti ho suggerito.
Inoltre mettere LANG=C penso che iteragisca con altre variabili.
Naturalmente dipende dove hai messo la export. Riprova.

Sciao
Dario


Maggiori informazioni sulla lista bglug