-
Notifications
You must be signed in to change notification settings - Fork 10
Manual
Jo Van Bulck edited this page Oct 11, 2015
·
4 revisions
This page lists an online txt version of the latest man jsh | col -bf > man.txt :
JSH(1) jsh man page JSH(1)
NAME
jsh - A basic UNIX shell implementation in C
SYNOPSIS
jsh [options]
DESCRIPTION
jsh is a UNIX command interpreter (shell) that executes commands
read from the standard input or from a file. jsh implements a subset
of the sh language grammar and is intended to be POSIX-conformant.
jsh is written 'just for fun' and is not intented to be a full com‐
petitor to advanced UNIX shells such as bash and zsh. jsh is free
software and you are welcome to collaborate on the github page
(https://github.com/jovanbulck/jsh) or to redistribute jsh under the
conditions of the GNU General Public License.
OPTIONS
jsh supports any combination of the following options:
-h, --help
display an informative help message and exit
-d, --debug
turn printing of debug messages on
-n, --nodebug
turn printing of debug messages off
-c, --color
turn coloring of jsh output messages on
-o, --nocolor
turn coloring of jsh output messages off
-d, --norc
disable autoloading of the ~/.jshrc file
-l, --license
display licence information and exit
-v, --version
display version information and exit
CONFIG FILES
~/.jshrc
file containing commands to be executed at login (note using
the source builtin, one can include any other file to be pro‐
cessed at startup)
~/.jsh_login
file containing a text message verbatim printed at login of
an interactive session
~/.jsh_logout
file containing commands to be executed at logout of an
interactive session
~/.jsh_history
file containing the command history auto loaded and saved at
login/logout
PROMPT CUSTOMIZING
You can define a custom jsh prompt using the prompt builtin command:
prompt "prompt_string" [max_cwd_length]. The first argument defines
the new prompt string. The second optional argument defines the max‐
imum length for the current working directory, included with '%d'.
One can include the following prompt expansion options preceded by a
'%' char in the prompt string:
%u includes the current username
%U includes the current username, colored red and bold iff sudo
access is activated
%h includes the current hostname
%s includes the return value of the last executed shell command
%S includes the return value of the last executed shell command,
colored red and bold iff non-zero
%d includes the current working directory. When this directory
path is longer then the value specified by the optional
max_cwd_length second argument (default is 25), the directory
path is 'smart' truncated to include the maximum number of
individual trailing directories of the path. If the path con‐
tains the current user's home directory, it is replaced with
a '~' char.
%g includes the git branch name iff the current working direc‐
tory is a git repository
%c includes a bold and red '*' char iff the current working
directory is a git repository and git indicates files have
changed since the last commit
%$ includes a '$' char or a '#' char iff sudo access is acti‐
vated (usefull for the prompt ending)
%% includes the verbatim '%' character
%B turns on bold/bright text coloring
%n restores normal coloring: turns off bold/bright text coloring
%f{color_name}
Enables the specified foreground non-bold text color. Recog‐
nized colors are {black, red, green, yellow, blue, magenta,
cyan, white}. The special colors {reset, resetall} can be
used to respectively reset the foreground color to the
default or reset all color properties to default.
%F{color_name}
Enables the specified foreground bold/bright text color. Rec‐
ognized colors are the same as with %f above. The special
colors {reset, resetall} can be used to respectively disable
bold style and reset the foreground color to the default or
reset all color properties to default.
%b{color_name}
Enables the specified background text color. Recognized col‐
ors are the same as with %f above. The special colors {reset,
resetall} can be used to respectively reset the background
color to the default or reset all color properties to
default.
THE JSH WIKI
jsh has a wiki (https://github.com/jovanbulck/jsh/wiki) where you
can find up-to-date information and installation instructions for
various platforms.
BUGS REPORTS
If you find a bug or vulnerability in jsh, you should report it on
the github page (https://github.com/jovanbulck/jsh/issues). Please
include the output of jsh --version in all bug reports.
KNOWN BUGS
jsh only supports a small subset of the sh language grammar and its
interpretation can sometimes be ambiguous. You're welcome to propose
better interpretations on the github page, linked above.
Single quotes (') and backticks (`) are not (yet) interpreted by the
jsh shell.
Environment variables are not yet implemented. This will be added in
future releases.
Job control is not yet implemented; pressing ^Z will suspend the jsh
shell. Background jobs will be implemented in future releases.
DISCLAIMER
jsh is not a master thesis.
jsh can be time-consuming and school-distracting.
Any resemblance of jsh to actual persons is purely coincidental.
AUTHOR
jsh was orginally written by Jo Van Bulck <jo.vanbulck@stu‐
dent.kuleuven.be>. For additional contributors, use git shortlog -sn
on the jsh.git repository.
LICENSE
jsh is free software, licensed under the GNU General Public License
(https://gnu.org/licenses/gpl.html). Try jsh --license for more
information.
SEE ALSO
sh(1), bash(1), readline(1).
jsh 1.2.1 11 Oct 2015 JSH(1)
Home | Installation | Configuration | Manual | Contributing