use POSIX parameter expansion for assigning default values
Opened this issue · 2 comments
the modules are full of default-assignments like so:
CustomPiOS/src/modules/base/config
Line 13 in f6fea14
this is obviously not a bug, but i think the readability could be improved by using POSIX parameter expansion.
the following is equivalent to the test-clause above:
: ${BASE_RELEASE_COMPRESS:=yes}
from the bash manpage:
${parameter:=word}
Assign Default Values. If parameter is unset or null, the expansion of word is assigned to parameter. The value of parameter is then substituted. Positional parameters and special parameters may not be assigned to in this way.
So it would be in the config file:
BASE_IMAGE_RASPBIAN=${BASE_RELEASE_COMPRESS:=yes}
?
I want to assign default values there because its also where people go to look what they can set.
i'm not sure what you mean.
your example would
- set
BASE_RELEASE_COMPRESS
toyes
unless it is already set to a non-empty value - set
BASE_IMAGE_RASPBIAN
to the value ofBASE_RELEASE_COMPRESS
(from item1)
i guess that mixing of BASE_IMAGE_RASPBIAN
and BASE_RELEASE_COMPRESS
was just a typo.
my line:
: ${BASE_RELEASE_COMPRESS:=yes}
does:
- set
BASE_RELEASE_COMPRESS
toyes
unless it is already set to a non-empty value - nothing else (as
:
is a nop-command)
you can of course use variables on the right-hand term as well:
: ${BASE_IMAGE_PATH:=${DIST_PATH}/image}
but if you feel that this is just busy-work, feel free to ignore (and possibly close) this ticket