Function in GRUB is very slightly different compared to POSIX shell. It doesn't require the function parenthesis ( () ) and must rely on function keyword.
Here's the an example of basic declaration:
function simple_greeting {        echo "Hello $@"}grub> simple_greeting "Michelle"Hello Michellegrub>Parameters are similar of those in POSIX shell. Example:
$@ - all parameters with positional information$* - all parameters without positional information$1, $2, $3, ... - parameter value at the specified position. $0 means nothing in this case.return number - return an exit code aligning to UNIX convention (0 means success)That's all about creating function in GRUB scripting language.