Syntax highlighting | Interactive history |
---|---|
- simple commands
- quoting
- redirections (
> file
) - piping (
command1 | command2
) - conditional execution:
&&
and||
- compound commands (
{ command1; command2 } | command3
) - builitins:
true
false
cd
(without-P
and-L
)source
- if statements:
if <command-list>; then <command-list>; [else <command-list>]; fi
while
anduntil
loopsfor
loops- piping and redirecting to/from bulitins/command lists/if statements
- user defined variables
- special variables:
- return value from last command -
$?
- current pid -
$$
- return value from last command -
- inline environment variables (
HOME='/' command
) $()
command substitution- basic interactive syntax highlighting
- history saved in
~/.kish_history
- interactive history lookup ala fish (but with up to 4 simultaneous search results)
- loading
~/.kishrc
The kish
shell depends on tcbrindle/span and AmokHuginnsson/replxx. Those dependencies can be pulled from git submodules:
$ git submodule update --init
$ cmake .
$ make
The kish
shell can be tested by a shell script located in test/tests.sh
.
Simply run the shellscript with a path to built kish
as its argument.