giosh (generic IO shell) is a multipurpose command line shell written in Go.
giosh is not:
- a POSIX compliant shell
- a shell language with multi-line lexical scope
- a virtual machine with a new (environmental) variable declaration mechanism
- Command invokation with PATH resolving
- pipe
- Simply invoke it. You can use giosh with interactive mode.
$ giosh
@G[1]> ls -l | grep m | sed -r -e s/.+[[:blank:]]//g
README.md
cmd
main.go
- Read giosh script
$ giosh some_script
- Read an oneliner from the standard input (Standard input for giosh must be an oneliner)
$ awesome_script | awesome_command | giosh
At now, giosh is released under limitations (really so limited in the function).
Following mechanisms are not supported:
- comment line
- escape character \
- arrow keys and command history
- redirection with file descriptor
- hear strings or hear document
- variable declaration
- variable reference (env value is not directly available)
- variable expansion and command replacement
- background jobs (&)
- builtin commands
Suzume Nomura @g1eng
Okadarien Saru -