The change you suggested is also what I tried first. Looks like it depends on the
shell. On my system /bin/sh is a symlink to /bin/bash and that is the behavior
I observed. On other shells the assignment is not passed to the environment of
the called procedure at all.
Here is an example script:
#!/bin/sh
test_must_fail () {
"$@"
test $? -gt 0 -a $? -le 129
}
foo='wo adrian'
foo='yo adrian' test_must_fail sh -c 'echo foo: $foo'
echo "foo: $foo"
When /bin/sh is a symlink to bash, I get:
foo: yo adrian
foo: yo adrian
If I change #!/bin/sh to #!/bin/bash I get what is expected:
foo: yo adrian
foo: wo adrian
#!/bin/ksh
foo:
foo: yo adrian
#!/bin/dash
foo:
foo: yo adrian
-brandon
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html