Same. I like how effects flow top-to-bottom/left-to-right (unless in RecursiveDo
) and pure data flows from definition towards the declaration (
foo = bar + baz quux
).
Mixing reading directions makes my head spin not unlike reading C declarations (which are horrible mess IMO).
2 Likes
For the record, bash has no idea what any args for any commands do, and indeed there’s no notion of a string argument in bash*; they’re instead just called words. "something"
above could have been equivalently written as something
. The only reason to use quotes is in case there might be a space in the argument and you want to make sure it’s treated as a single word e.g. "$1"
instead of $1
. Double quotes allow for interpolation, single quotes don’t.
*there are exceptions, for example arguments to [[
do have a notion of what is a string, but unlike /bin/[
, [[
is not a command, but part of the bash syntax, so those are not really arguments in the same way.
2 Likes