64
How do you shell expand your variables and why?
(lemmy.world)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
This has never stuck with me, and I hadn't thought about why until now. I have two reasons why I will always write
${x}_$y.z
instead of${x}_${y}.z
:$x_
being expanded as${x_}
."$#array[3]"
actually prints the length of the third item inarray
, rather than (Bash:) the number of positional parameters, then the string'array[3]'
.@gamma I just use them out of consistency and principle, so I don't need to think in which case it is required or not.
The difference between the two seems different to what's in the OP. Is there a typo here?
My reply is to a commenter who said they prefer
"${HOME}/docs"
over both options in the original image ("$HOME/docs"
or"$HOME"/docs
). Many people prefer to always include braces around the parameter name out of consistency, instead of only when they are required.My comment explained why my habit is to only include braces when they are necessary.