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: