[216d6fc] | 1 | This is a very brain dead shell. It needs some love, coffee or perhaps beer.
|
---|
| 2 | Currently, you can't even really call it a shell, its more of a CLI that
|
---|
| 3 | offers some shell like creature comforts.
|
---|
| 4 |
|
---|
| 5 | This was written in a hurry to provide some means of testing persistent file
|
---|
| 6 | systems in HelenOS. It does its job, its nowhere near complete but it is
|
---|
| 7 | actively developed. If your reading this, its likely that you're looking for
|
---|
| 8 | some functionality that is not yet present. Prior to filing a bug report,
|
---|
| 9 | please make sure that what you want is not on the list below.
|
---|
| 10 |
|
---|
| 11 | A list of things to do:
|
---|
| 12 | -----------------------
|
---|
| 13 |
|
---|
| 14 | * cmds/modules : ls_scope and rm_scope are basically carbon copies of each
|
---|
| 15 | other, put this in util.c and make it a shared function.
|
---|
| 16 |
|
---|
| 17 | * rm: add support for recursively removing directories and files therein
|
---|
| 18 |
|
---|
| 19 | * Better sanity checking in modules that take multiple arguments
|
---|
| 20 |
|
---|
| 21 | * Port an editor (vim?)
|
---|
| 22 |
|
---|
| 23 | * Finish cat
|
---|
| 24 |
|
---|
| 25 | * Feed task_spawn absolute paths if path doesn't begin with /
|
---|
| 26 |
|
---|
| 27 | * Some getopt / getopt_long implementation
|
---|
| 28 |
|
---|
| 29 | * Support basic redirection (i.e ls > foo.txt)
|
---|
| 30 |
|
---|
| 31 | * Expand wildcards (i.e. *.txt), don't worry about variables for now
|
---|
| 32 |
|
---|
| 33 | * Basic scripting
|
---|
| 34 |
|
---|
| 35 | * Hash previously found commands
|
---|
| 36 |
|
---|
| 37 | * Improve input, add history / etc (port libedit?)
|
---|
| 38 |
|
---|
| 39 | * Add wrappers for signal, sigaction to make ports to modules easier
|
---|
| 40 |
|
---|
| 41 | * Add 'echo' and 'printf' modules.
|
---|
| 42 |
|
---|
| 43 | Regarding POSIX:
|
---|
| 44 | ----------------
|
---|
| 45 | POSIX is a standard for Unix-like operating systems. HelenOS is (mostly) just
|
---|
| 46 | a kernel at this point with a few userspace programs that facilitate testing
|
---|
| 47 | of the kernel and file systems.
|
---|
| 48 |
|
---|
| 49 | HelenOS is not a Unix-like operating system. HelenOS is its own thing, a modern
|
---|
| 50 | microkernel OS and many directions are not yet set.
|
---|
| 51 |
|
---|
| 52 | Please do not e-mail me to point out that modular implementations that resemble
|
---|
| 53 | typical core utilities do not conform to some POSIX standard, these are temporary
|
---|
| 54 | and serve the useful purpose of testing persistent file systems.
|
---|
| 55 |
|
---|
| 56 | Contributing:
|
---|
| 57 | -------------
|
---|
| 58 | If you feel like doing any of the above to-do items, I am echo@echoreply.us. Please
|
---|
| 59 | e-mail me and let me know your working on something so that I do not unwittingly
|
---|
| 60 | duplicate your efforts. You can also e-mail the HelenOS list directly:
|
---|
| 61 |
|
---|
| 62 | HelenOS development mailing list <helenos-devel@lists.modry.cz>
|
---|
| 63 | Subscribe here if you like: http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
|
---|
| 64 |
|
---|
| 65 | Cheers and happy hacking!
|
---|
| 66 | --Tim
|
---|