On Tue, Sep 22, 2015 at 10:19:56AM -0400, [email protected] wrote: > Description: > Adding a "local" keyword to a variable assignment hides the > return code of a command substitution. Same problem in both > bash and dash shells.
Yes, this is how it works. If you care about the return value of a
command used to initialize a local variable, you have to write it in
two steps:
foo() {
local foo
foo=$(bar) || return
}
http://mywiki.wooledge.org/BashPitfalls has this and many more.
