Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dev:scripting:start [2008/07/27 00:46] stefanha |
dev:scripting:start [2009/05/22 13:32] (current) stefanha |
||
|---|---|---|---|
| Line 16: | Line 16: | ||
| </code> | </code> | ||
| - | We need variable expansion: | + | Variable expansion is already available in mainline gPXE: |
| <code> | <code> | ||
| dhcp ${my_iface} | dhcp ${my_iface} | ||
| Line 38: | Line 38: | ||
| === String manipulation === | === String manipulation === | ||
| - | The format string operator allows string concatentation and formatting: | + | The format string built-in function allows string concatentation and formatting: |
| <code> | <code> | ||
| set net0/ip ${fmt("%d.%d.%d.%d", 192, 168, 0, 10 + host_num)} | set net0/ip ${fmt("%d.%d.%d.%d", 192, 168, 0, 10 + host_num)} | ||
| </code> | </code> | ||
| - | |||
| - | The ''fmt()'' function above would be a built-in function. | ||
| === Comparison and logic === | === Comparison and logic === | ||
| Line 73: | Line 71: | ||
| * We probably need an exit code built-in variable like ''$?'' in POSIX shell. | * We probably need an exit code built-in variable like ''$?'' in POSIX shell. | ||
| * Bitwise operators ''|'', ''&'', ''^'', ''~'', ''<<'', and ''>>'' may be needed. | * Bitwise operators ''|'', ''&'', ''^'', ''~'', ''<<'', and ''>>'' may be needed. | ||
| + | * Focus needs to be on what we can leave out rather than what to add. | ||
| * More use cases so we know what users need. | * More use cases so we know what users need. | ||
| === Links === | === Links === | ||
| + | * [[http://bellard.org/otcc/|Obfuscated Tiny C Compiler]] | ||
| * [[http://www.nicholson.com/rhn/files/dds_basic.c|TINY obfuscated C BASIC interpreter]] | * [[http://www.nicholson.com/rhn/files/dds_basic.c|TINY obfuscated C BASIC interpreter]] | ||
| * [[http://www.ittybittycomputers.com/IttyBitty/TinyBasic/TinyBasic.c|TinyBasic]] | * [[http://www.ittybittycomputers.com/IttyBitty/TinyBasic/TinyBasic.c|TinyBasic]] | ||
| * [[http://www.personal.leeds.ac.uk/~bgy1mm/Minibasic/basic.c|Mini BASIC]] | * [[http://www.personal.leeds.ac.uk/~bgy1mm/Minibasic/basic.c|Mini BASIC]] | ||