diff --git a/manual/src/ch11-00-builtins.md b/manual/src/ch11-00-builtins.md index 072bfbb36fda8575d67ad0f5f1cc5f5ac57bb8fd..261b7f51827168dffc24b57f696b7577a2f68d0b 100644 --- a/manual/src/ch11-00-builtins.md +++ b/manual/src/ch11-00-builtins.md @@ -1 +1,251 @@ # Builtin Commands +## alias +``` +alias NAME=DEFINITION +alias NAME DEFINITION +``` +View, set or unset aliases +## and +``` +COMMAND; and COMMAND +``` +Execute the command if the shell's previous status is success +## bg +``` +bg [PID] +``` +Resumes a stopped background process. If no process is specified, the previous +job will resume. +## calc +``` +calc [EXPRESSION] +``` +Calculate a mathematical expression. If no expression is given, it will open +an interactive expression engine. Type exit to leave the engine. +## cd +``` +cd [PATH] +``` +Change the current directory and push it to the stack. +Omit the directory to change to home +## contains +``` +contains KEY [VALUE...] +``` +Evaluates if the supplied argument contains a given string +## dirs +``` +dirs +``` +Display the current directory stack +## disown +``` +disown [-r | -h | -a ][PID...] +``` +Disowning a process removes that process from the shell's background process table. +If no process is specified, the most recently-used job is removed + +## drop +``` +drop VARIABLE +``` +Delete a variable +## echo +``` +echo [ -h | --help ] [-e] [-n] [-s] [STRING]... +``` +Display a line of text +#### Options +`-e` enable the interpretation of backslash escapes +`-n` o not output the trailing newline +`-s` do not separate arguments with spaces +#### Escape Sequences +When the -e argument is used, the following sequences will be interpreted: +\\ backslash +\a alert (BEL) +\b backspace (BS) +\c produce no further output +\e escape (ESC) +\f form feed (FF) +\n new line +\r carriage return +\t horizontal tab (HT) +\v vertical tab (VT) +## ends-with +``` +ends-with KEY [VALUE...] +``` +Evaluates if the supplied argument ends with a given string +## eval +``` +eval COMMAND +``` +evaluates the evaluated expression +## exists +``` +exists [-a ARRAY] [-b BINARY] [-d PATH] [--fn FUNCTION] [[-s] STRING] +``` +Performs tests on files and text +#### options +`-a ARRAY` array var is not empty +`-b BINARY` binary is in PATH +`-d PATH` path is a directory +`-f PATH` path is a file +`--fn FUNCTION` function is defined +`-s STRING` string var is not empty +`STRING` string is not empty +## exit +``` +exit +``` +Exits the current session and kills all background tasks +## false +``` +false +``` +Do nothing, unsuccessfully +## fg +``` +fg [PID] +``` +Resumes and sets a background process as the active process. If no process is specified, the previous job will be the active process. +## fn +``` +fn +``` +Print list of functions +## help +``` +help COMMAND +``` +Display helpful information about a given command or list commands if +none specified +## history +``` +history +```` +Display a log of all commands previously executed +## ion-docs +``` +ion_docs +``` +Opens the Ion manual +## jobs +``` +jobs +``` +Displays all jobs that are attached to the background +## matches +``` +matches VARIABLE REGEX +``` +Checks if a string matches a given regex +## not +``` +not COMMAND +``` +Reverses the exit status value of the given command. +## or +``` +COMMAND; or COMMAND +``` +Execute the command if the shell's previous status is failure +## popd +``` +popd +``` +Pop a directory from the stack and returns to the previous directory +## pushd +``` +pushd DIRECTORY +``` +Push a directory to the stack. +## read +``` +read VARIABLE +``` +Read some variables +## set +``` +set [ --help ] [-e | +e] [-x | +x] [-o [vi | emacs]] [- | --] [STRING]... +``` +Set or unset values of shell options and positional parameters. +Shell options may be set using the '-' character, +and unset using the '+' character. + +OPTIONS +`e` Exit immediately if a command exits with a non-zero status. +`-o` Specifies that an argument will follow that sets the key map. +The keymap argument may be either `vi` or `emacs`. +`x` Specifies that commands will be printed as they are executed. +`--` Following arguments will be set as positional arguments in the shell. +If no argument are supplied, arguments will be unset. +`-` Following arguments will be set as positional arguments in the shell. +If no arguments are suppled, arguments will not be unset. +## source +``` +source [PATH] +``` +Evaluate the file following the command or re-initialize the init file +## starts-with +``` +ends-with KEY [VALUE...] +``` +Evaluates if the supplied argument starts with a given string +## suspend +``` +suspend +``` +Suspends the shell with a SIGTSTOP signal +## test +``` +test [EXPRESSION] +``` +Performs tests on files and text +#### Options +`-n STRING` the length of STRING is nonzero +`STRING` equivalent to -n STRING +`-z STRING` the length of STRING is zero +`STRING = STRING` the strings are equivalent +`STRING != STRING` the strings are not equal +`INTEGER -eq INTEGER` the integers are equal +`INTEGER -ge INTEGER` the first INTEGER is greater than or equal to the first INTEGER +`INTEGER -gt INTEGER` the first INTEGER is greater than the first INTEGER +`INTEGER -le INTEGER` the first INTEGER is less than or equal to the first INTEGER +`INTEGER -lt INTEGER` the first INTEGER is less than the first INTEGER +`INTEGER -ne INTEGER` the first INTEGER is not equal to the first INTEGER +`FILE -ef FILE` both files have the same device and inode numbers +`FILE -nt FILE` the first FILE is newer than the second FILE +`FILE -ot FILE` the first file is older than the second FILE +`-b FILE ` FILE exists and is a block device +`-c FILE` FILE exists and is a character device +`-d FILE` FILE exists and is a directory +`-e FILE` FILE exists +`-f FILE` FILE exists and is a regular file +`-h FILE` FILE exists and is a symbolic link (same as -L) +`-L FILE` FILE exists and is a symbolic link (same as -h) +`-r FILE` FILE exists and read permission is granted +`-s FILE` FILE exists and has a file size greater than zero +`-S FILE` FILE exists and is a socket +`-w FILE` FILE exists and write permission is granted +`-x FILE` FILE exists and execute (or search) permission is granted +## true +``` +true +``` +Do nothing, successfully +## unalias +``` +unalias VARIABLE... +``` +Delete an alias +## wait +``` +wait +``` +Waits until all running background processes have completed +## which +``` +which COMMAND +``` +Shows the full path of commands