-
Notifications
You must be signed in to change notification settings - Fork 1.8k
SC2231
Joachim Ansorg edited this page Nov 12, 2021
·
2 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!