foo={1..9}
echo "$foo"
foo="/some/path/*"
echo "$foo"
foo=( {1..9} )
echo "${foo[@]}"
foo=(/some/path/*)
echo "${foo[@]}"
Note that either of these will trigger SC3030 ("In POSIX sh, array
references are undefined") if you are using sh
and not e.g.
bash
.
echo *.png {1..9}
expands to all png files and numbers
from 1 to 9, but var=*.png
or var={1..9}
will
just assign the literal strings '*.png'
and
'{1..9}'
.
To make the variable contain all png files or 1 through 9, use an array as demonstrated.
If you intended to assign these values as literals, quote them (e.g.
var="*.png"
).
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.