| # This program is free software: you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation, either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| # |
| fx() |
| { |
| i=0 |
| for (( ; i < 3; i++ )) |
| do |
| echo $i |
| done |
| |
| for (( i=0; ; i++ )) |
| do |
| if (( i >= 3 )); then |
| break; |
| fi |
| echo $i |
| done |
| |
| for (( i=0; i<3; )) |
| do |
| echo $i |
| (( i++ )) |
| done |
| |
| i=0 |
| for (( ; ; )) |
| do |
| if (( i > 2 )); then |
| break; |
| fi |
| echo $i; |
| (( i++ )) |
| done |
| |
| i=0 |
| for ((;;)) |
| do |
| if (( i > 2 )); then |
| break; |
| fi |
| echo $i; |
| (( i++ )) |
| done |
| } |
| |
| for (( i=0; "i < 3" ; i++ )) |
| do |
| echo $i |
| done |
| |
| i=0 |
| for (( ; "i < 3"; i++ )) |
| do |
| echo $i |
| done |
| |
| for (( i=0; ; i++ )) |
| do |
| if (( i >= 3 )); then |
| break; |
| fi |
| echo $i |
| done |
| |
| for ((i = 0; ;i++ )) |
| do |
| echo $i |
| if (( i < 3 )); then |
| (( i++ )) |
| continue; |
| fi |
| break |
| done |
| |
| type fx |
| fx |
| |
| # errors |
| { |
| ${THIS_SH} -c 'for (( i=0; "i < 3" )) |
| do |
| echo $i |
| done' ; echo $? ; } 2>&1 | sed 's|^.*/||' |
| #echo $? |
| |
| { |
| ${THIS_SH} -c 'for (( i=0; i < 3; i++; 7 )) |
| do |
| echo $i |
| done' ; echo $?; } 2>&1 | sed 's|^.*/||' |
| #echo $? |
| |
| # one-liners added in post-bash-2.04 |
| for ((i=0; i < 20; i++)) do : ; done |
| echo $i |
| |
| for ((i=0; i < 20; i++)) { : ; } |
| echo $i |
| |
| # added post-bash-4.2 |
| for (( i = j = k = 1; i % 9 || (j *= -1, $( ((i%9)) || printf " " >&2; echo 0), k++ <= 10); i += j )) |
| do |
| printf "$i" |
| done |
| |
| echo |
| |
| ( for (( i = j = k = 1; i % 9 || (j *= -1, $( ((i%9)) || printf " " >&2; echo 0), k++ <= 10); i += j )) |
| do |
| printf "$i" |
| done ) |
| |
| echo |
| |
| for (( i = 4; ;i--)) ; do echo $i; if (( $i == 0 )); then break; fi; done |
| |
| for (( i = 4;;i--)) ; do echo $i; if (( $i == 0 )); then break; fi; done |