[PATCH 1/2] doc: add note about characters like hyphens in variable names

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Nov 10 10:34:29 EST 2020


The mismatch between the allowed characters in shell variables and
device parameters is a common pitfall, especially because device
tree node names often have hyphens in them, which is disallowed by
hush.

While such variables can be read by the ${variable-example}, setting
them is only possible with the setenv command. Reflect this in the
documentation.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
Cc: Matthias Fend <Matthias.Fend at wolfvision.net>
---
 Documentation/user/driver-model.rst | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Documentation/user/driver-model.rst b/Documentation/user/driver-model.rst
index a0fd3e99b55b..c543d6d9c410 100644
--- a/Documentation/user/driver-model.rst
+++ b/Documentation/user/driver-model.rst
@@ -88,7 +88,14 @@ The parameters can be used as shell variables:
 .. code-block:: sh
 
   eth0.ipaddr=192.168.23.15
-  echo "my current ip is: $eth0.ipaddr"
+  echo "my current ip is: ${eth0.ipaddr}"
+
+.. note::
+
+  Hush shell syntax for defining and setting variables is the same, so
+  some characters such as hyphens are not allowed on the left hand side
+  of a shell variable assignment. :ref:`command_setenv`, if enabled,
+  can still be used to write such a variable though.
 
 device variables may have a type, so assigning wrong values may fail:
 
-- 
2.28.0




More information about the barebox mailing list