Skip to content

Latest commit

 

History

History
27 lines (16 loc) · 843 Bytes

SC2313.md

File metadata and controls

27 lines (16 loc) · 843 Bytes

Pattern: Use of read with unquoted []

Issue: -

Description

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.

Example of incorrect code:

read -r foo[index]

Example of correct code:

read -r "foo[index]"

Further Reading