May 29th, 2013· Added foreach loop using code blocks
· $list=abc def ghi
· [ $x=$list
· >echo $x
· ]
· Added string-math: concat, subtract, search/replace
· $list=abc,def,ghi
· Concat -> abc,def,ghi,jkl
· =$list + ,jkl
· Subtract -> abc,ghi
· =$list - ,def
· Search/replace with regex -> def,abc,ghi
· =$list/(\w+),(\w+)/\2,\1/
· Search/replace without regex -> abc def ghi
· =list//,/ /
· Improved ssh login
· Removed ssh options, should be placed in ~/.ssh/config
· The main purpose is keep it simple. However, the advanced features allow pretty creative scripting.
The central ideas behind the design are:
· Just keep it simple and portable - it runs on Linux, Mac OS X, *nix, and Windows(with cygwin).
· No syntax errors
· Make the automator's life easier.
March 12th, 2013· This version enhanced code blocks with "then" and "else" blocks, added an EL_INFINITE_LOOP environment variable that sets a user's default infinite loop protection, shortened expect-lite help, and enhanced the man page.
January 29th, 2013· Version 4.4.1 fixes a bug when using *LOG on the command-line.
January 21st, 2013· expect-lite turns 8!
Added native logging to a file (finally) using *LOG directive:
· Log to a default file name .log
· Or log to user supplied file name, *LOG /tmp/myfile.log
· Log only sections of script using *LOG and *NOLOG
· Append to existing log file with *LOGAPPEND
· Improved install.sh for NFS mounted home drives
December 5th, 2012· Added include file passing var=values with spaces e.g. ~mycinclude.inc var1=this or that var2=just that more of small bug fixes
· Fixed "send" bug "bad flag -1"
· Fixed dyn var capture when "=" are present e.g. +$var=(\d) = STRING
· Fixed single number expect, if number was not on a line by itself
· Added el_shell.elt, a helpful dev script for easy copy and pasting commands
June 27th, 2012· This version fixes a path bug with include files, ssh (no key) login prompt detection, an *INFINITE_LOOP bug which would double/triple the countdown, and CLI -v,-vv,-vvv overrides of logging (*INFO, *WARN, *DEBUG).
· It works with older versions of expect (older than 5.44.x, such as cygwin, and old Linux installations) and validates EL_CONNECT_METHOD at startup (default=none).
April 24th, 2012· User defined help was added (run your script with a -h).
· Arguments are now passed to include files (e.g. ~login.inc user=root).
· A new *NOINTERACT directive was added, which is useful for quick regression scripts.
· A ##Include Result: FAIL message was also added for quick regression scripts.
February 14th, 2012· This version has full IPv6 support and fixes a bug in Library mode.
December 14th, 2011· Minor fixes.
· Fixes for small bugs in IDE single step and paste functions, and a problem with lines ending with backslash.
October 12th, 2011· Grouping of lines in a script for if statements and while loops, called code blocks.
· While Loops, a native looping mechanism based on code blocks.
· Constant values can have spaces on the command line, e.g. var1="value of this" var2=that.
August 24th, 2011· @n (n=number) was fixed to set the timeout value from IDE (a problem with ssh user@192.168...).
· The *FORK display was fixed when "session" is part of the session name.
· The installer was updated with a "configure only" option, which just configures user account settings.
· A conditional test for undefined varibles was added.
June 28th, 2011· Non-unique labels for looping (search backwards for labels)
· Fix for *FAIL and *NOFAIL
· Change timeout value in IDE (using @n command)
· Added sudo example (using sudo.tcl)
April 13th, 2011· The documenation was improved.
· Miscellaneous fixes were made to *FORK (multi-session control).
· A new library mode was added for integration into native Tcl environments.
February 22nd, 2011· Bugs were fixed for a bad timeout value and *FORK session control.
· A new logging directive, *TIMESTAMP , prints a date and timestamp for each command sent.
December 20th, 2010· A small fix to the copy/paste function in the debugger
· Installer for installing from the tarball (not sure why it took me 5 years to write an installer, but there is one now, and it automatically configures the expect-lite configuration file ~/.expect-literc)
October 27th, 2010· This version has a new debugger with breakpoints, stepping, skipping, and the ability to copy and paste expect-lite lines right into a running script.
· Scripts can be made executable using a standard initial line of "#!/usr/bin/env expect-lite".
· Multiple users are now supported easily because customization is controlled via environment variables.
· The new *NOFAIL directive runs a script to completion, which can be useful for debugging.
· Support for Cygwin was improved.
· Backward compatibility with existing scripts is retained.
September 28th, 2010· Additional functionality was added, improving color, adding an additional logging level, and updating the documentation.
· Custom colour comments are supported. "expect" logging can be done with *EXP_INFO. The *PASS directive was added.
· The man page was updated.
August 3rd, 2010· Colour Comments, Info and Warnings
· End of Line control (LF or CRLF)
· Fix for Cygwin Telnet access method
· Man Page, a quick reference
July 15th, 2010· This version includes an example script presented at the Linux Symposium 2010 conference.
· A feature was added where environment variables of the form EL_* will automatically become script constants (variables).
· The setup_local_ssh.sh tool was updated for NFS /home environments.
June 2nd, 2009· Worded IF INFO statement, now is eval:TRUE|FALSE
January 19th, 2009· Key features include instant interaction for immediate debugging, almost unlimited multiple sessions, and better control over logging information. Pressing ^ (control+backslash) will drop into interactive mode, which turns control of the keyboard over to the user, typing directly to the process on the remote host.
December 3rd, 2008· This version adds two new features.
· Based on a user request, User Defined Prompts have been added.
· This allows the setting of the prompt via a line.
· Expect-lite has always cooperated well with the bash shell.
· Now, via a five-line embedded bash script at the top of the expect-lite script, it can become executable with default arguments, and can even take GNU-style long option arguments.
October 21st, 2008· This version includes some small bugfixes and additional debugging information via -v and -vv.
· Three self-test scripts are included (in Examples) that provide confidence that expect-lite is functioning properly.