Clarify that there are two examples unrelated to each other (spent way too much time trying to relate them)

Marc
2020-10-25 22:50:11 -07:00
parent f910995c0b
commit e647074cd0

@@ -68,13 +68,14 @@ readonly foo
## Word splitting and quoting issue with dash, maybe others
A serious quoting problem with dash is another reason to declare and assign separately. Dash is the [default, `/bin/sh` shell on Ubuntu](https://wiki.ubuntu.com/DashAsBinSh). More specifically, dash version 0.5.8-2.10 and others cannot run this code:
A serious quoting problem with dash is another reason to declare and assign separately. Dash is the [default, `/bin/sh` shell on Ubuntu](https://wiki.ubuntu.com/DashAsBinSh). More specifically, dash version 0.5.8-2.10 and others cannot run these two examples:
```sh
f(){ local e=$1; }
f "1 2"
export g=$(printf '%s' "foo 2")
```
While this runs fine in other shells, [dash doesn't treat this as an assignment](http://mywiki.wooledge.org/BashPitfalls#local_var.3D.24.28cmd.29) and fails like this:
While this runs fine in other shells, [dash doesn't treat any of these as assignments](http://mywiki.wooledge.org/BashPitfalls#local_var.3D.24.28cmd.29) and fails both like this:
```
local: 2: bad variable name
export: 2: bad variable name