SC3009
Lucas Larson edited this page Jan 27, 2023
·
7 revisions
In POSIX sh, brace expansion is undefined.
Problematic code:
#!/bin/sh
for i in {1..5}; do ...Here, $i expands to {1..5}. It does not expand to the sequence 1 2 3 4 5
Correct code:
#!/bin/sh
i=1
# while $i ≤ 5 ...
while [ "${i}" -le 5 ]; do ...
# something that will occur 5 times
i=$((i + 1))
doneYou can also use the seq command, e.g. seq 1 5, but seq is not a POSIX utility.
Rationale:
Exceptions:
None