wtf, zsh
% uname -sr FreeBSD 12.1-RELEASE-p10 % for sh in sh csh bash zsh ; do printf "%-8s" $sh ; $sh -c 'echo \\x21' ; done sh \x21 csh \x21 bash \x21 zsh ! % cowsay wtf, zsh __________ < wtf, zsh > ---------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
I mean. Bruh. I know it’s intentional & documented & can be turned off, but every other shell defaults to POSIX semantics…
BTW:
% ln -s =zsh /tmp/sh % /tmp/sh -c 'echo \x21' \x21
FTFY ;)
sh zsh: command not found: sh
csh zsh: command not found: csh
bash zsh: command not found: bash
zsh !