2N/A#! @builddir@/grub-shell-tester
2N/A#
2N/A# Copyright (C) 2010 Free Software Foundation, Inc.
2N/A#
2N/A# GRUB is free software: you can redistribute it and/or modify
2N/A# it under the terms of the GNU General Public License as published by
2N/A# the Free Software Foundation, either version 3 of the License, or
2N/A# (at your option) any later version.
2N/A#
2N/A# GRUB is distributed in the hope that it will be useful,
2N/A# but WITHOUT ANY WARRANTY; without even the implied warranty of
2N/A# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2N/A# GNU General Public License for more details.
2N/A#
2N/A# You should have received a copy of the GNU General Public License
2N/A# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
2N/A
2N/A# break without any arguments
2N/Afor i in 1 2 3 4 5 6 7 8 9 10
2N/Ado
2N/A echo $i
2N/A if test "$i" = 5
2N/A then
2N/A break
2N/A fi
2N/Adone
2N/A
2N/A# break with one
2N/Afor i in 1 2 3 4 5 6 7 8 9 10
2N/Ado
2N/A echo $i
2N/A if test "$i" = 5
2N/A then
2N/A break 1
2N/A fi
2N/Adone
2N/A
2N/A# break with loop count
2N/Afor i in 1 2 3 4 5
2N/Ado
2N/A for j in a b c d e f
2N/A do
2N/A echo "$i $j"
2N/A if test "$i" = 3
2N/A then
2N/A if test "$j" = d
2N/A then
2N/A break 2
2N/A fi
2N/A fi
2N/A done
2N/Adone
2N/A
2N/A# break into middle loop
2N/Afor i in 1 2 3 4 5
2N/Ado
2N/A for j in a b c d e f
2N/A do
2N/A echo "$i $j"
2N/A if test "$i" = 3
2N/A then
2N/A if test "$j" = d
2N/A then
2N/A break 1
2N/A fi
2N/A fi
2N/A done
2N/Adone
2N/A
2N/A# while and until loops
2N/Aa=
2N/Awhile test "$a" != "aaaaaaa"
2N/Ado
2N/A a="a$a"
2N/A for i in 1 2 3 4
2N/A do
2N/A b=
2N/A until test "$b" = "bbbbb"
2N/A do
2N/A b="b$b"
2N/A echo "$a $i $b"
2N/A if test "$i" = 3; then echo "break 2"; break 2; fi
2N/A done
2N/A done
2N/Adone
2N/A