Implementation of basic command-line interpreter (based on zsh
and
bash
), using the C programming language.
make
./ush
make reinstall
./ush
make uninstall
export
;unset
;local
;exit
;bye
;history
;return
;true
;false
;jobs
;fg
without any arguments and with%n
,%str
,%+
,%-
,n
,str
,+
,-
arguments.
-
env
with next flags:-i
;-P
;-u
.
-
cd
with next flags:-s
;-P
;-
.
-
pwd
with next flags:-L
;-P
.
-
which
with next flags:-a
;-s
.
-
echo
with next flags:-n
;-e
;-E
.
CTRL+D
;CTRL+C
;CTRL+Z
.
Next characters can be escaped to be used literally: space
, '
,
"
, $
, (
, )
, \
, `, {
, }
.
Tilde expansions ~
with the followinf tilde-prefixes:
~
;~/dir_name
;username/dir_name
;~+/dir_name
;~-/dir_name
.
- only basic form -
${parameter}
.
- `command`
- $(command)
Nested command substitutions also supported.
- support of pipes
|
; - support of logical operators
&&
and||
; - job control system (only for foregraund jobs and processes);
- command history using
Arrow
keys; - command editing, cursor motion using
Arrow
keys; - prompt customization using
ALT+1
combination; - the
;
command line separator; - errors management;
- user rnvironment management.
Collision is an open-sourced software licensed under the MIT license.