Environment Variables, Exports, and Subshell Boundaries
Shell variables and the process environment overlap but differ. Export, fork/exec, subshells, pipelines, sourcing, and Shellshock define where changes survive.
tag
5 posts
Shell variables and the process environment overlap but differ. Export, fork/exec, subshells, pipelines, sourcing, and Shellshock define where changes survive.
How commercial Unix fractured across codebases and alliances while POSIX and the Single UNIX Specification preserved portable interfaces.
Writing shell scripts that run correctly under any POSIX-compliant shell, not just whichever one happens to be installed on your own machine.
Ubuntu 6.10 switched its default /bin/sh from Bash to the stricter Dash in October 2006 for faster boot times, surfacing years of non-portable scripts.
Bash, Zsh, and sh accept most of the same commands, which is exactly what makes their real differences easy to miss until a script breaks.