[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bash 4.x filters out environmental variables containing a dot in the
From: |
Mike Frysinger |
Subject: |
Re: bash 4.x filters out environmental variables containing a dot in the name |
Date: |
Thu, 25 Jun 2009 20:09:16 -0400 |
User-agent: |
KMail/1.11.3 (Linux/2.6.29.4; KDE/4.2.3; x86_64; ; ) |
On Thursday 25 June 2009 19:17:38 Chet Ramey wrote:
> Christian Krause wrote:
> > Bash Version: 4.0
> > Patch Level: 16
> > Release Status: release
> >
> > Description:
> > During the compilation of the linux kernel (configured to user mode
> > linux) I've discovered the following problem of bash 4.0 (which is now
> > delivered by Fedora 11):
> >
> > If an environmental variable contains a "." in its name, the new bash
> > 4.0 filters out these variables. They will not be visible via "set" nor
> > will they be inherited to executed sub-shells or processes.
>
> Such strings are invalid shell or environment variable names. It was a
> bug in bash-3.2 that it created invalid variables from the initial
> environment.
and it's a bug that bash-4 is filtering them. not allowing them to be used in
the shell is fine (echo ${vmlinux.lds}), but removing them from the
environment and thus not allowing other applications to leverage them is not.
POSIX explicitly states that applications shall tolerate the presence of these
environment variables, and while that is open for interpretation (i.e. you've
interpreted this to mean automatic removal), i dont see any reason for bash to
be culling these.
-mike
signature.asc
Description: This is a digitally signed message part.