The soon comming release of JDistro (0.28) will contain a unix-like
shell written in Java. Its name is Jsh (like almost every shell
written in Java) but it is new. In particular, it doesn't use code
from the Jsh Project leading by Gerard. Why ?
- because it uses the task model of JDistro
- because the java port of the GNU tools is very old, partialy broken
and didn't fit well with both JDistro and the terminal.
- Unix-like shell
- Variables $
- Pipe |
- Background task &
- Inner commands ``
- Can run JDistro entities
- Can run outside of JDistro
2.Missing features in this very first release
- No job control
- No redirection on entities
- No completion
- No flow control (while, if, for, ...)
- No function
- Many commands are missing
3.Available commands and utils
Alias Mkdir Sleep
Cal More Source
Cat Ps Test
Cd Pwd Time
Echo Read Times
Exit Rmdir True
False Run Unalias
Help Set Unset
Kill Sh Which
Please remember that these commands are written in pure java. So they
can not get all the information which is needed. For example, ps will
list the current running tasks of JDistro, not the real process.
Lsentities: List the entities of JDistro
5.Running on Linux
By default, the PATH is:
It means Jsh will first try to use the native command. For example, if
you type 'ps', it will run '/bin/ps'. If you want to run the java
version, type 'jps' or modify your path by setting [commands] at the
6. Running on Windows
There is still some problems due to the backslash, used both as a
separator in paths and an escaping character. This should be fixed by
using / as a file separator.
Jsh is distributed under the terms of the (GNU) General Public License
version 2 (GPL v2). It is part of JDistro. It is available on CVS. I
plan to make an independant archive asap.
Comments, bug reports, contributions are welcome.
Best regards, Guillaume