Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.unix.shell > #26926
| From | Helmut Waitzmann <nn.throttle@erine.email> |
|---|---|
| Newsgroups | comp.unix.shell |
| Subject | Re: Variable var names |
| Date | 2026-06-24 10:45 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <83a4skz5q7.fsf@helmutwaitzmann.news.arcor.de> (permalink) |
| References | <n91qs8Fk65fU1@mid.individual.net> <20260623140125.387@kylheku.com> |
Kaz Kylheku <046-301-5902@kylheku.com>:
> It is also written that "If the command name is a special
> built-in utility, variable assignments shall affect the current
> execution environment before the utility is executed and remain
> in effect when the command completes". So in fact ksh is
> conforming, even though it is arguably a dumb behavior that Bash
> disagrees with (even in --posix mode; just tested with 4.4 and
> 5.1).
>
Interesting. In my Debian Linux system, “bash”
+ bash --version
GNU bash, version 5.1.4(1)-release (i686-pc-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
obeys the POSIX standard in --posix mode as well as when invoked
with the name “sh”: The “bash” command
(
cmdline='
unset -v foo &&
foo=bar eval : &&
if ${foo+:} false
then
printf %s\\n posixly
else
printf %s\\n not\ posixly
fi' &&
for invocation in \
"$(
printf ' %q' \
exec -a bash -- bash -c "$cmdline" bash
)" \
"$(
printf ' %q' \
exec -a bash -- bash --posix -c "$cmdline" bash
)" \
"$(
printf ' %q' \
exec -a sh -- bash -c "$cmdline" sh
)"
do
eval set -- "$invocation" && echo &&
( set -x && "$@" )
done
)
yields the following output:
+ exec -a bash -- bash -c '
unset -v foo &&
foo=bar eval : &&
if ${foo+:} false
then
printf %s\\n posixly
else
printf %s\\n not\ posixly
fi' bash
not posixly
+ exec -a bash -- bash --posix -c '
unset -v foo &&
foo=bar eval : &&
if ${foo+:} false
then
printf %s\\n posixly
else
printf %s\\n not\ posixly
fi' bash
posixly
+ exec -a sh -- bash -c '
unset -v foo &&
foo=bar eval : &&
if ${foo+:} false
then
printf %s\\n posixly
else
printf %s\\n not\ posixly
fi' sh
posixly
Back to comp.unix.shell | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-12 09:30 +0200
Re: Variable var names gazelle@shell.xmission.com (Kenny McCormack) - 2026-06-12 09:02 +0000
Re: Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-13 12:29 +0200
Re: Variable var names gazelle@shell.xmission.com (Kenny McCormack) - 2026-06-13 11:14 +0000
Re: Variable var names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-06-13 13:15 +0200
Re: Variable var names ram@zedat.fu-berlin.de (Stefan Ram) - 2026-06-12 11:26 +0000
Re: Variable var names ram@zedat.fu-berlin.de (Stefan Ram) - 2026-06-12 11:38 +0000
Re: Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-12 14:07 +0200
Re: Variable var names ram@zedat.fu-berlin.de (Stefan Ram) - 2026-06-12 12:31 +0000
Re: Variable var names Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-06-13 02:48 +0000
Re: Variable var names Christian Weisgerber <naddy@mips.inka.de> - 2026-06-12 12:12 +0000
Re: Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-12 15:19 +0200
Re: Variable var names Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-06-13 02:51 +0000
Re: Variable var names Geoff Clare <geoff@clare.See-My-Signature.invalid> - 2026-06-12 13:42 +0100
Re: Variable var names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-06-12 17:41 +0200
Re: Variable var names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-06-12 17:54 +0200
Re: Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-13 12:32 +0200
Re: Variable var names Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-06-14 01:12 +0000
Re: Variable var names Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-06-13 00:20 +0000
Re: Variable var names Kaz Kylheku <046-301-5902@kylheku.com> - 2026-06-23 21:25 +0000
Re: Variable var names Helmut Waitzmann <nn.throttle@erine.email> - 2026-06-24 10:45 +0200
Re: Variable var names Christian Weisgerber <naddy@mips.inka.de> - 2026-06-24 11:41 +0000
csiph-web