On Oct 2, 2006, at 5:16 PM, David Blevins wrote:
Sounds really cool. Is there an easy way to boot it up and try it out?

The Geronimo server integration is not completed yet, but to get the basic idea you can use the 'server' command to startup a telnet server from a regular gsh in a terminal:

(in one term)
svn co https://svn.apache.org/repos/asf/geronimo/sandbox/gshell/ trunk/ gshell
cd gshell/
setjdk 1.5
mvn
gunzip -c gshell-assemblies/gshell-complete-assembly/target/ gshell-1.0.0-SNAPSHOT-bin.tar.gz | tar xf -
./gshell-1.0.0-SNAPSHOT/bin/gsh
> server

(in another term)
telnet localhost 5057
> help commands

Use 'exit' to quit the telnet shell session.

* * *

There is a tiny bug in (something, not sure what) which cases the sexy jline history/buffer editing to drop in some extra backspace chars when in telnet mode that I have yet to track down. Also something in telnet mode is blocking some chars (like CTRL-D) which prevents it from behaving. I have not had a chance to work these buggers out... have not had much chance to work on GShell at all :-(

If you want to see the script bits, beanshell is included by default, and in a non-telnet session (like in the first shell where the server command was run), you can:

> script -l beanshell
script(beanshell)> print("hi")

CTRL-D to exit out of the script(beanshell) sub-shell.

History, buffer editing and command tab-completion should all work as one might expect from the non-telnet. History and buffer editing works with telnet, but for some reason tab completion is whack. I hope that when I get to implement the ssh support that it will not suffer from the same issues that the telnet/nvt4j impl has. I had used xbean-telnet for a short moment, but it did not set the right full unbuffered bits, so I switched to nvt4j.

Commands all support '-h' and '--help' so you can kinda see what they do. I was starting to refactor the syntax parser bits and to fully support ${vars}, but had to switch gears to m2 other build stuff. It kinda works now but the parser is buggy, so you can:

> set a=b
> echo ${a}
b
> set
a=b
gshell.prompt=>

But due to the whacky parser, you can't really 'set gshell.prompt="some thing else"'. But you can 'set gshell.prompt=foo>' (no quotes, the quoted string bits are whack at the moment). When I whipped up the parser my JavaCC was like 5 years rusty or so.

Anyways, it is still a tad rough around the edges... I did whip most of this up in a week or so.

--jason

Reply via email to