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