-
Notifications
You must be signed in to change notification settings - Fork 1.9k
SC2231
Andrei Korshikov edited this page Jan 27, 2025
·
3 revisions
for file in ${dir}/*.txt
do
echo "Found ${file}"
donefor file in "${dir}"/*.txt
do
echo "Found ${file}"
doneWhen iterating over globs containing expansions, you can still quote all expansions in the path to better handle whitespace and special characters.
Just make sure glob characters are outside quotes. "${dir}/*.txt" will not glob expand, but "${dir}"/*.txt or "${dir}"/*."${ext}" will.
Exceptions similar to SC2086 apply. If the variable is expected to contain globs, such as if dir="tmp/**" in the example, you can ignore this message.
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!