read -r foo[index]read -r "foo[index]"ShellCheck found an array element passed to read, where the
[] was not quoted. This means the array index
[index] will be treated as a glob range, and the word may
be replaced or trigger failglob.
In the problematic example, having a directory named
food will cause the command to become
read -r food instead, since food matches the
glob foo[index]. The result is assigning a value to the
wrong variable.
Quote or escape the pattern as shown to ensure it always reads into
the array foo at index index.
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.