>From: Greg Wooledge <g...@wooledge.org> >To: bug-bash@gnu.org >Subject: Re: parameter expansion with `:` does not work >Date: 07/07/2021 23:54:21 Europe/Paris
>On Wed, Jul 07, 2021 at 11:50:01PM +0200, lisa-as...@perso.be wrote: >> Have noticed that parameter expansion with `:` does not work >> >> : ${fltype:-"texi,org"} # alternative to `fltype=` >What did it do? What did you *expect* it to do? The line : ${fltype:-"texi,org"} should be an alternative to fltype=${fltype:-"texi,org"} If you have a lot of variables to initialize to defaults and they have long names, the `:` approach would be prefereable, both for typing and for reading. When I try it, fltype is not being set. >This looks like it's related to your ongoing project to make your >simple script as complex as possible. As such, it appears you're >digging into the bowels of the Bourne shell and trying to dig up >every obscure piece of syntax you can find, so that you can use >them all, to be completely sure you can't possibly read the script >a week from now. Certainly part of all that. I am not against complexity myself. I simply want my script to work as I wish, even though I possibly won't remember all the implementation details. Am quite sure that a man of your intellect won't have a problem figuring things out. >I advise you to stop doing this. This is where we disagree >In this particular instance, you're assigning a LIST of two values >to a STRING variable, using a comma as a delimiter between them. >Presumably you're going to split this list apart later on. >Wouldn't it be a whole lot simpler to store the list in an ARRAY >variable in the first place, and avoid the need to split it? I do that later, because I have a user set argument using delimiter between file types.