Gerald Pfeifer writes: > Hi Arsen, > > On Fri, 14 Apr 2023, Arsen Arsenović wrote: >>> Did you intentionally not implement the following part of my suggestion >>> >>> if [ x${MAKEINFO}x = xx ]; then >>> : >> > that is, allowing to override from the command-line (or crontab)? >> (answering both the questions) >> >> This := operator is a handy "default assign" operator. It's a bit of an >> oddity of the POSIX shell, but it works well. The line: >> >> : "${foo:=bar}" >> >> is a convenient way of spelling "if foo is unset or null, set it to >> bar". the initial ':' there serves to discard the result of this >> evaluation (so that only its side effect of updating foo if necessary is >> kept) > > I understand, just am wondering whether and why the : is required? I > don't think we are using this construct anywhere else? Without them, this would happen: ~$ "${foo:=foo}" bash: foo: command not found ~ 127 $ unset foo ~$ echo "${foo:=foo}" foo ~$ > (I was aware of the ${foo:=bar} syntax, just caught up by you pushing > that part of the logic to the lowest level whereas I had it at the top > level. That's purely on me.) > > Please go ahead and push this (or a variant without the : commands) and > I'll then pick it up from there. Thank you! Hopefully we get this just in time for 13 :) Pushed. -- Arsen Arsenović