geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Dillon <ja...@planet57.com>
Subject Re: What is GShell?
Date Tue, 03 Oct 2006 00:48:45 GMT
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

Mime
View raw message