CAUTION: use of the examples is not encouraged. They are not maintained.
Please refer to the online examples (visit http://tcl.apache.org/websh/) instead.