Attached patch updates grub documentation with built-in commands section.
bvk.chaitanya
=== modified file 'docs/grub.texi'
--- docs/grub.texi 2010-08-01 16:25:09 +0000
+++ docs/grub.texi 2010-08-20 10:38:22 +0000
@@ -1206,8 +1206,10 @@
The backslash retains its special meaning only when followed by one of the
following characters: @samp{$}, @samp{"}, @samp{\}, or newline. A
backslash-newline pair is treated as a line continuation (that is, it is
-removed from the input stream and effectively ignored). A double quote may
-be quoted within double quotes by preceding it with a backslash.
+removed from the input stream and effectively igno...@footnote{currently
+backslash-newline pair within a variable name is not handled properly, so
+use this feature with some care.}.). A double quote may be quoted within
+double quotes by preceding it with a backslash.
@heading Variable expansion
@@ -1219,11 +1221,15 @@
Normal variable names begin with an alphabetic character, followed by zero
or more alphanumeric characters.
-Positional variable names consist of one or more digits. These are reserved
-for future expansion.
+Positional variable names consist of one or more digits. They represent
+parameters passed to function calls, with @samp{$1} representing first
+parameter, and so on.
The special variable name @samp{?} expands to the exit status of the most
-recently executed command.
+recently executed command. When positional variable names are active, other
+special variable names @samp{@@}, @samp{*} and @samp{#} are defined and they
+expand to all positional parameters with necessary quoting, positional
+parameters without any quoting, and positional parameter count respectively.
@heading Comments
@@ -1284,6 +1290,35 @@
@xref{menuentry}.
@end table
+...@heading Built-in Commands
+
+Some built-in commands are also provided by GRUB script to help script
+writers perform actions that are otherwise not possible. For example, these
+include commands to jump out of the loop statements without fully completing
+them, etc.
+
+...@table @asis
+...@item break [n]
+When this command is executed from loops, it jumps out of the @code{for},
+...@code{while}, and @code{until} loops without executing any following
+commands in the loop body. Optional integer argument @code{n} specifies the
+number of enclosing loops to jump out off, and it defaults to one.
+
+...@item continue [n]
+When this command is executed from loops, it skips the rest of commands in
+the loop body and proceeds with next iteration from the beginning. For
+...@code{while} and @code{until} loops, execution starts with their condition.
+Optional integer argument @code{n} specifies the number of enclosing loops
+to jump out off, and it defaults to one.
+
+...@item shift [n]
+When this command is executed with in a function, it adjusts its positional
+variables by one, by replacing first variable value with second variables
+value, and so on. Last positional variable looses its value and values for
+special variables @samp{$@@}, @samp{$*} and @samp{$#} are adjusted
+accordingly. Optional integer argument @code{n} specifies number of times
+to perform shifting, and it defaults to one.
+...@end table
@node Embedded configuration
@section Embedding a configuration file into GRUB
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel