-
Notifications
You must be signed in to change notification settings - Fork 1.8k
SC2200
Joachim Ansorg edited this page Nov 12, 2021
·
2 revisions
[ "$file" = index.{htm,html,php} ] && echo "This is the main file"
for main in index.{htm,html,php}
do
[ "$file" = "$main" ] && echo "This is the main file"
done
Brace expansions in [ ]
will expand to a sequence of words. Operators work on single words.
The problematic code is equivalent to [ "$file" = index.htm index.html index.php ]
, which is invalid syntax. A typical error message is bash: [: too many arguments
or dash: somefile: unexpected operator
.
Instead, use a for
loop to iterate over values, and apply your condition to each.
None.