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.