Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.unix.shell > #25752

Re: Different variable assignments

From John-Paul Stewart <jpstewart@personalprojects.net>
Newsgroups comp.unix.shell
Subject Re: Different variable assignments
Date 2024-10-11 14:27 -0400
Message-ID <lmt90sFr1idU1@mid.individual.net> (permalink)
References <lmt83dFsvbvU3@mid.individual.net>

Show all headers | View raw


On 2024-10-11 2:11 p.m., Frank Winkler wrote:
> Hi there !
> 
> Consider the following commands:
> 
> 
> $ var1=`uname -sr`
> $ echo $var1
> Darwin 24.0.0
> $ read var2 <<< `uname -sr`
> $ echo $var2
> Darwin 24.0.0
> $ uname -sr | read var3
> $ echo $var3
> 
> $ uname -sr | read -p var3
> $ echo $var3
> 
> $
> 
> While the first two ones behave like expected, I wonder why the latter
> ones fail. What's the difference behind the scenes?

I don't know about other shells, but in Bash each command in a pipeline
is run in a subshell.  (See the "Pipelines" section of the Bash man
page.)  Thus you're doing the 'read var3' part in a different shell than
where 'echo $var3' runs.  That's why it is empty when you echo it.

> And even more confusing, why does this familiar one work anyway?
> 
> $ sw_vers | while read line; do echo $line; done
> ProductName: macOS
> ProductVersion: 15.0.1
> BuildVersion: 24A348

Here the subshell runs everything between 'while' and 'done' so the read
and echo commands are in the same (sub)shell this time.

Back to comp.unix.shell | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-11 20:11 +0200
  Re: Different variable assignments John-Paul Stewart <jpstewart@personalprojects.net> - 2024-10-11 14:27 -0400
    Re: Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-11 20:45 +0200
      Re: Different variable assignments Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-12 03:59 +0200
        Re: Different variable assignments Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-10-12 02:26 +0000
          Re: Different variable assignments gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-19 10:45 +0000
            Re: Different variable assignments Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-19 14:25 +0200
              coprocs in bash & ksh (Was: Different variable assignments) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-19 13:39 +0000
                Re: coprocs in bash & ksh (Was: Different variable assignments) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-19 15:57 +0200
        Re: Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-12 09:42 +0200
          Re: Different variable assignments Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-10-12 07:51 +0000
          Re: Different variable assignments Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-12 13:08 +0200
            Re: Different variable assignments Lem Novantotto <Lem@none.invalid> - 2024-10-12 12:01 +0000
              Re: Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-12 17:57 +0200
                Re: Different variable assignments Lem Novantotto <Lem@none.invalid> - 2024-10-12 17:09 +0000
                lastpipe (Was: Different variable assignments) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-19 11:47 +0000
                Re: lastpipe (Was: Different variable assignments) Lem Novantotto <Lem@none.invalid> - 2024-10-19 12:53 +0000
                Re: Different variable assignments Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-10-12 21:32 +0000
                Re: Different variable assignments Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-12 23:47 +0200
                Re: Different variable assignments Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-10-12 21:50 +0000
                Re: Different variable assignments Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-12 23:56 +0200
                Re: Different variable assignments Lem Novantotto <Lem@none.invalid> - 2024-10-12 23:07 +0000
                Re: Different variable assignments Lem Novantotto <Lem@none.invalid> - 2024-10-12 23:10 +0000
                Re: Different variable assignments Lem Novantotto <Lem@none.invalid> - 2024-10-12 23:39 +0000
                Re: Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-15 13:46 +0200
                Re: Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-24 11:30 +0200
                Re: Different variable assignments gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-24 11:21 +0000
                Re: Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-24 23:43 +0200
                Re: Different variable assignments Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-25 06:57 +0200
                Re: Different variable assignments Lem Novantotto <Lem@none.invalid> - 2024-10-24 22:45 +0000
                tee with no args is a no-op (Was: Different variable assignments) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-25 07:10 +0000
                Re: tee with no args is a no-op (Was: Different variable assignments) Lem Novantotto <Lem@none.invalid> - 2024-10-25 08:57 +0000
            Re: Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-12 17:49 +0200
        lastpipe (Was: Different variable assignments) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-19 11:50 +0000
  Re: Different variable assignments Helmut Waitzmann <nn.throttle@xoxy.net> - 2024-10-11 22:20 +0200
    Re: Different variable assignments Frank Winkler <usenet@f.winkler-ka.de> - 2024-10-11 22:50 +0200
      Re: Different variable assignments Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-10-11 21:03 +0000
        Re: Different variable assignments gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-19 11:45 +0000
          Re: Different variable assignments Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-19 14:52 +0200
            coproc or whatever in bash and ksh (Was: Different variable assignments) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-19 13:35 +0000
              Re: coproc or whatever in bash and ksh (Was: Different variable assignments) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-19 15:54 +0200
                Re: coproc or whatever in bash and ksh (Was: Different variable assignments) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-19 16:11 +0200
                Re: coproc or whatever in bash and ksh (Was: Different variable assignments) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-19 14:52 +0000
            Re: Different variable assignments Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-10-19 21:42 +0000
              Re: Different variable assignments gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-19 22:56 +0000
                Re: Different variable assignments Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-20 07:09 +0200
                coprocs - again (Was: Different variable assignments) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-20 09:12 +0000
                Re: coprocs - again (Was: Different variable assignments) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-25 06:26 +0200
                Re: coprocs - again (Was: Different variable assignments) Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-10-25 04:35 +0000
                Re: coprocs - again (Was: Different variable assignments) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-25 07:03 +0200
                Subjective "valuations" are all we have (Was: coprocs - again (Was: Different variable assignments)) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-25 08:10 +0000
                Re: Subjective "valuations" are all we have (Was: coprocs - again (Was: Different variable assignments)) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-25 11:32 +0200
                Re: Subjective "valuations" are all we have (Was: coprocs - again (Was: Different variable assignments)) Lem Novantotto <Lem@none.invalid> - 2024-10-25 11:15 +0000
                Re: Subjective "valuations" are all we have (Was: coprocs - again (Was: Different variable assignments)) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-25 12:54 +0000
                Re: Subjective "valuations" are all we have (Was: coprocs - again (Was: Different variable assignments)) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-26 16:20 +0200
                Re: coprocs - again (Was: Different variable assignments) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-25 07:06 +0000
                How to do multiple concurrent coprocs in ksh (Was: coprocs - again (Was: Different variable assignments)) gazelle@shell.xmission.com (Kenny McCormack) - 2024-10-25 07:05 +0000
      Re: Different variable assignments Christian Weisgerber <naddy@mips.inka.de> - 2024-10-11 23:25 +0000
    Re: Different variable assignments gazelle@shell.xmission.com (Kenny McCormack) - 2024-11-15 10:58 +0000
      Re: Different variable assignments Lem Novantotto <Lem@none.invalid> - 2024-11-16 00:07 +0000

csiph-web