When combining variable assignments with a shell command, some older shells (notably heirloom-sh and presumably also Solaris 10 /bin/sh)
Just to confirm: Solaris 10 /bin/sh does indeed also have this bug. sparcsol$ /bin/sh -c 'x=good; x=bad :; echo $x' bad $ uname -a SunOS sparcsol 5.10 Generic_150400-48 sun4v sparc SUNW,T5240 Debian 11 dash apparently does also, which seems surprising to me. But that's what the sparc-debian machine I have access to seems to be saying (/bin/sh is a symlink to dash as usual): sparcdeb$ /bin/sh -c 'x=good; x=bad :; echo $x' bad sparcdeb$ cat /etc/issue Debian GNU/Linux 11 \n \l sparcdeb$ uname -a Linux sparcdeb 5.10.0-8-sparc64-smp #1 SMP Debian 5.10.46-2 (2021-07-20) sparc64 GNU/Linux (Not that it matters, particularly.) --thanks, karl.