dashversions 0.3.8-15 to 0.5.10.2 (see change).- the
shof NetBSD (also based on the Almquist shell). - The
shof FreeBSD 9.2 or older (see the change in 9.3) yashzshwith versions prior to 5.1 inkshorshemulation (or forexport var="$(cmd)"wherezshwould perform word splitting otherwise (not globbing)).
bashksh(all implementations)- the
shof FreeBSD 9.3 or newer - busybox' ash-based
sh(since 2005) zshdash0.5.11 or newer.
If the export/local command name itself is quoted (even in part like "export" a="$b", 'ex'port a="$b", \export a="$b", or even ""export a="$b"), the quotes around $b are needed except in AT&T ksh and, mksh and recent versions of dash.
If export/local or some part of it is the result of some expansion (like in cmd=export; "$cmd" a="$b" or even export$(:) a="$b") or in things like dryrun=; $dryrun export a="$b"), then the quotes are needed except in every shellrecent versions of dash.
For command export a="$b", the quotes are needed in every shell but mksh, ksh93, recent dash, and bash -o posix (with the same caveats about command and export not being the result of some expansion in shells other than dash).