forked from koalaman/shellcheck
-
Notifications
You must be signed in to change notification settings - Fork 0
SC2043
Vidar Holen edited this page Oct 4, 2015
·
4 revisions
for var in value
do
echo "$var"
doneCorrect code depends on what you want to do.
To iterate over files in a directory, instead of for var in /my/dir use:
for var in /my/dir/* ; do echo "$var"; doneTo iterate over lines in a file or command output, use a while read loop instead:
mycommand | while IFS= read -r line; do echo "$line"; doneTo iterate over words written to a command or function's stdout, instead of for var in myfunction, use
for var in $(myfunction); do echo "$var"; doneTo iterate over words in a variable, instead of for var in myvariable, use
for var in $myvariable; do echo "$var"; doneShellCheck has detected that your for loop iterates over a single, constant value. This is most likely a bug in your code, caused by you not expanding the value in the way you want.
You should make sure that whatever you loop over will expand into multiple words.
None.