[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: access exported var
From: |
Kerin Millar |
Subject: |
Re: access exported var |
Date: |
Mon, 16 Jan 2023 06:05:34 +0000 |
On Sun, 15 Jan 2023 23:59:54 -0600
Peng Yu <pengyu.ut@gmail.com> wrote:
> On 1/15/23, Kerin Millar <kfm@plushkava.net> wrote:
> > On Sun, 15 Jan 2023 23:10:41 -0600
> > Peng Yu <pengyu.ut@gmail.com> wrote:
> >
> >> I use the following C code to check env var.
> >>
> >> #include <stdlib.h>
> >> #include <stdio.h>
> >>
> >> int main(int argc, char *argv[]) {
> >> const char *s=getenv(argv[1]);
> >> puts(s);
> >> return 0;
> >> }
> >>
> >> The results are different depending on whether the variable is a
> >> scalar or an array (the result is always null). Why is it so? Why even
> >> in the last case, "a" of the first element of the array cannot be
> >> retrieved?
> >
> > Bash cannot export arrays. It's not particularly surprising. The value of an
> > environment variable is a NUL-terminated string; there's no universally safe
> > delimiter that could be used to join the array's elements.
>
> But `echo "$Z"` print "a". Why bash can not treat exporting array as
> exporting the first element?
Technically, that would be possible. I can't identify an obvious use case but
you could try making a feature request of it and seeing what happens.
--
Kerin Millar
- access exported var, Peng Yu, 2023/01/16
- Re: access exported var, Kerin Millar, 2023/01/16
- Re: access exported var, Chet Ramey, 2023/01/16
- Re: access exported var, Peng Yu, 2023/01/16
- Re: access exported var, Chet Ramey, 2023/01/16
- Re: access exported var, Peng Yu, 2023/01/16
- Re: access exported var, Leonid Isaev, 2023/01/16
- Re: access exported var, Peng Yu, 2023/01/16
- Re: access exported var, Lawrence Velázquez, 2023/01/16
- Re: access exported var, Peng Yu, 2023/01/16