[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: commandline dpkg-reconfigure locales - uden prompt...



On Friday 05 August 2005 00:35, Daniel Sørensen wrote:
> On Thursday 04 August 2005 23:26, Frederik Juul Christiani wrote:
> > * Daniel Sørensen <daniel@dumazz.dk> [Aug 04. 2005 23:04]:
> > > On Thursday 04 August 2005 22:51, Daniel Sørensen wrote:
> > > > Hvordan får jeg, via. en kommando, sat locales til da_DK? -
> > > > uden at få en prompt
> > >
> > > En lille workaround der søger for at da_DK er den eneste i listen:
> > >
> > > echo "da_DK ISO-8859-1" > /etc/locale.gen
> > >
> > > Nu mangler jeg bare at få dpkg-reconfigure locales til at
> > > fortsætte, istedet for at vente på at man trykker 2x enter :)
> >
> > Kan du ikke nøjes med locale-gen i stedet for dpkg-reconfigure
> > locales?
>
> /etc/environment bliver ikke opdateret af locale-gen!
>
> Dette løser det:
>
>  echo "da_DK ISO-8859-1" > /etc/locale.gen
>  echo "#da_DK.UTF-8 UTF-8" >> /etc/locale.gen
>
>  locale-gen
>
>  EE="/etc/environment"
>  SELECTED="da_DK ISO-8859-1"
>
>          :> $EE.tmp # HVAD GØR DENNE KOMMANDO????
>
>      if [ -n "$SELECTED" ] && [ "$SELECTED" != "None" ]; then
>          #   Add a newline in case last line does not have one
>          echo >> $EE.tmp
>          echo "LANG=$SELECTED" >> $EE.tmp
>          #   Consecutive blank lines are replaced by a single line
>          cat -s $EE.tmp > $EE
>      fi
>      rm -f $EE.tmp

Her kommer det hele:

 EE="/etc/environment"
 SELECTED="da_DK ISO-8859-1"

    # Sætter LANG environment variabel
     if [ -e $EE ]; then
          sed -e '/^ *LANG=/d' $EE > $EE.tmp || true
         #  $EE has to be updated if $SELECTED is empty or 'None'
         cp -f $EE.tmp $EE
     else
         :> $EE.tmp
     fi
     if [ -n "$SELECTED" ] && [ "$SELECTED" != "None" ]; then
         echo >> $EE.tmp
         echo "LANG=$SELECTED" >> $EE.tmp
         #   Consecutive blank lines are replaced by a single line
         cat -s $EE.tmp > $EE
     fi
     rm -f $EE.tmp


FORKLARINGER:

if [ -e $EE ]; then

 Hvad betyder "-e" ???

if [ -n "$SELECTED" ] && [ "$SELECTED" != "None" ]; then
         
 Hvad betyder "-s" ???

Hvad betyder den første linje i /etc/environment ???

>
> > Prøv evt. at kigge i /var/lib/dpkg/info/locales.postinst for at
> > se hvad dpkg-reconfigure locales udfører.
> >
> > mvh Frederik



Reply to: