Table of Contents

Lynus Vaz: Enhanced scripting language

Project Plan

gPXE currently features a limited capability command language. A more powerful scripting language would be useful to users: they can specify boot policies or other customizations as a script, without having to understand gPXE completely, or having to edit the code.

Features:

Evaluating arithmetic/boolean expressions

If-then-else branches

Quoting

Summary

Outline

These changes need an arithmetic evaluator, to accept expressions.

Define if, then, else commands. I am thinking of something like:

if [ expr ]

statements

else

statements

fi

I think this would be the simplest to deal with.

Define a goto command, or alternatively for, and while commands

A simple syntax to handle expression expansion: something like the current ${} for variables.

I also think we need to have some operators like: check if interface exists (maybe (–i net1)?)

Milestones and Timeline

Current work: I currently have code to evaluate arithmetic expressions, involving integers only. The usual C operators are supported (no variables, so no assignment), with their usual precedence and associativity.