= Yet another shell (yash) manual
Yuki Watanabe <magicant@wonderwand.net>
v{yashversion},
:encoding: UTF-8
:lang: en
//:title: Yet another shell (yash) manual
:description: The table of contents for the yash manual.

[[contents-list]]
== Contents

[role="list-group"]
--
. link:intro.html[Introduction]
. link:invoke.html[Invocation]
.. link:invoke.html#arguments[Command line arguments]
.. link:invoke.html#init[Initialization of yash]
. link:syntax.html[Syntax]
.. link:syntax.html#tokens[Tokens and keywords]
.. link:syntax.html#quotes[Quotations]
... link:syntax.html#dollar-single[Dollar-single-quotes]
.. link:syntax.html#aliases[Aliases]
.. link:syntax.html#simple[Simple commands]
.. link:syntax.html#pipelines[Pipelines]
.. link:syntax.html#and-or[And/or lists]
.. link:syntax.html#async[Command separators and asynchronous commands]
.. link:syntax.html#compound[Compound commands]
... link:syntax.html#grouping[Grouping]
... link:syntax.html#if[If command]
... link:syntax.html#while-until[While and until loops]
... link:syntax.html#for[For loop]
... link:syntax.html#case[Case command]
... link:syntax.html#double-bracket[Double-bracket command]
.. link:syntax.html#funcdef[Function definition]
. link:params.html[Parameters and variables]
.. link:params.html#positional[Positional parameters]
.. link:params.html#special[Special parameters]
.. link:params.html#variables[Variables]
... link:params.html#shellvars[Variables used by the shell]
... link:params.html#arrays[Arrays]
. link:expand.html[Word expansions]
.. link:expand.html#tilde[Tilde expansion]
.. link:expand.html#params[Parameter expansion]
... link:expand.html#param-prefix[Prefix]
... link:expand.html#param-name[Parameter name]
... link:expand.html#param-index[Index]
... link:expand.html#param-mod[Modifier]
.. link:expand.html#cmdsub[Command substitution]
.. link:expand.html#arith[Arithmetic expansion]
.. link:expand.html#brace[Brace expansion]
.. link:expand.html#split[Field splitting]
.. link:expand.html#glob[Pathname expansion]
... link:expand.html#extendedglob[Extension in pathname expansion]
. link:pattern.html[Pattern matching notation]
.. link:pattern.html#normal[Normal characters]
.. link:pattern.html#single[Single-character wildcard]
.. link:pattern.html#multiple[Multi-character wildcard]
.. link:pattern.html#bracket[Bracket expression]
.. link:pattern.html#bra-normal[Normal characters (in bracket expression pattern)]
.. link:pattern.html#bra-range[Range expressions]
.. link:pattern.html#bra-colsym[Collating symbols]
.. link:pattern.html#bra-eqclass[Equivalence classes]
.. link:pattern.html#bra-chclass[Character classes]
. link:redir.html[Redirection]
.. link:redir.html#file[Redirection to files]
... link:redir.html#socket[Socket redirection]
.. link:redir.html#dup[Duplication of file descriptors]
.. link:redir.html#here[Here documents and here strings]
.. link:redir.html#pipe[Pipeline redirection]
.. link:redir.html#process[Process redirection]
. link:exec.html[Command execution]
.. link:exec.html#simple[Execution of simple commands]
... link:exec.html#declaration-utility[Declaration utility]
... link:exec.html#search[Command search]
.. link:exec.html#exit[Termination of the shell]
.. link:exec.html#function[Functions]
... link:exec.html#localvar[Local variables]
.. link:exec.html#environment[Command execution environment]
... link:exec.html#subshell[Subshells]
. link:interact.html[Interactive mode]
.. link:interact.html#prompt[Prompts]
.. link:interact.html#history[Command history]
.. link:interact.html#mailcheck[Mail checking]
. link:job.html[Job control]
.. link:job.html#jobid[Job ID]
. link:builtin.html[Built-in commands]
.. link:builtin.html#types[Types of built-in commands]
.. link:builtin.html#argsyntax[Syntax of command arguments]
. link:lineedit.html[Line-editing]
.. link:lineedit.html#options[Shell options on line-editing]
.. link:lineedit.html#modes[Editing modes]
.. link:lineedit.html#commands[Line-editing commands]
... link:lineedit.html#basic-commands[Basic editing commands]
... link:lineedit.html#motion-commands[Motion commands]
... link:lineedit.html#editing-commands[Editing commands]
... link:lineedit.html#completion-commands[Completion commands]
... link:lineedit.html#vi-commands[Vi-specific commands]
... link:lineedit.html#emacs-commands[Emacs-specific commands]
... link:lineedit.html#history-commands[History-related commands]
... link:lineedit.html#search-commands[Search mode commands]
.. link:lineedit.html#escape[Escape sequences]
.. link:lineedit.html#completion[Command line completion]
... link:lineedit.html#completion-detail[Completion details]
.. link:lineedit.html#prediction[Command line prediction]
. link:posix.html[POSIXly-correct mode]
. link:faq.html[Frequently asked questions and troubleshooting]
.. link:faq.html#unicode[How can I use Unicode (non-ASCII) characters?]
.. link:faq.html#lineediting[Line-editing does not work]
. link:fgrammar.html[Formal definition of command syntax]
.. link:fgrammar.html#token[Tokenization]
... link:fgrammar.html#classification[Token classification]
... link:fgrammar.html#comments[Comments]
.. link:fgrammar.html#syntax[Syntax]
... link:fgrammar.html#alias[Alias substitution]
--

[[builtins]]
== Built-ins

Parenthesized letters indicate the link:builtin.html#types[types of built-in
commands]: (S) for special, (M) mandatory, (L) elective, and (X) extension.
Substitutive built-ins are not marked.

[[alpha-order]]
=== All built-ins in alphabetic order

[role="list-group"]
- link:_dot.html[+.+ (dot)] (S)
- link:_colon.html[+:+ (colon)] (S)
- link:_test.html[+[+ (bracket)]
- link:_alias.html[+alias+] (M)
- link:_array.html[+array+] (X)
- link:_bg.html[+bg+] (M)
- link:_bindkey.html[+bindkey+] (L)
- link:_break.html[+break+] (S)
- link:_cd.html[+cd+] (M)
- link:_command.html[+command+] (M)
- link:_complete.html[+complete+] (L)
- link:_continue.html[+continue+] (S)
- link:_dirs.html[+dirs+] (L)
- link:_disown.html[+disown+] (L)
- link:_echo.html[+echo+]
- link:_eval.html[+eval+] (S)
- link:_exec.html[+exec+] (S)
- link:_exit.html[+exit+] (S)
- link:_export.html[+export+] (S)
- link:_false.html[+false+]
- link:_fc.html[+fc+] (M)
- link:_fg.html[+fg+] (M)
- link:_getopts.html[+getopts+] (M)
- link:_hash.html[+hash+] (M)
- link:_help.html[+help+] (L)
- link:_history.html[+history+] (L)
- link:_jobs.html[+jobs+] (M)
- link:_kill.html[+kill+] (M)
- link:_local.html[+local+] (L)
- link:_popd.html[+popd+] (L)
- link:_printf.html[+printf+]
- link:_pushd.html[+pushd+] (L)
- link:_pwd.html[+pwd+]
- link:_read.html[+read+] (M)
- link:_readonly.html[+readonly+] (S)
- link:_return.html[+return+] (S)
- link:_set.html[+set+] (S)
- link:_shift.html[+shift+] (S)
- link:_suspend.html[+suspend+] (L)
- link:_test.html[+test+]
- link:_times.html[+times+] (S)
- link:_trap.html[+trap+] (S)
- link:_true.html[+true+]
- link:_type.html[+type+] (M)
- link:_typeset.html[+typeset+] (L)
- link:_ulimit.html[+ulimit+] (M)
- link:_umask.html[+umask+] (M)
- link:_unalias.html[+unalias+] (M)
- link:_unset.html[+unset+] (S)
- link:_wait.html[+wait+] (M)

[[groups]]
=== Categorized list of built-ins

[[g-control]]
==== Execution control commands

[role="list-group"]
- link:_eval.html[+eval+] (S)
- link:_dot.html[+.+ (dot)] (S)
- link:_exec.html[+exec+] (S)
- link:_command.html[+command+] (M)
- link:_hash.html[+hash+] (M)
- link:_break.html[+break+] (S)
- link:_continue.html[+continue+] (S)
- link:_return.html[+return+] (S)
- link:_suspend.html[+suspend+] (L)
- link:_exit.html[+exit+] (S)

[[g-environ]]
==== Command execution environment

[role="list-group"]
- link:_set.html[+set+] (S)
- link:_ulimit.html[+ulimit+] (M)
- link:_umask.html[+umask+] (M)
- link:_trap.html[+trap+] (S)
- link:_cd.html[+cd+] (M)
- link:_pwd.html[+pwd+]
- link:_times.html[+times+] (S)

[[g-job]]
==== Job control and signalling

[role="list-group"]
- link:_jobs.html[+jobs+] (M)
- link:_fg.html[+fg+] (M)
- link:_bg.html[+bg+] (M)
- link:_wait.html[+wait+] (M)
- link:_disown.html[+disown+] (L)
- link:_kill.html[+kill+] (M)
- link:_trap.html[+trap+] (S)

[[g-variable]]
==== Parameters and variables

[role="list-group"]
- link:_typeset.html[+typeset+] (L)
- link:_export.html[+export+] (S)
- link:_local.html[+local+] (L)
- link:_readonly.html[+readonly+] (S)
- link:_array.html[+array+] (X)
- link:_set.html[+set+] (S)
- link:_shift.html[+shift+] (S)
- link:_read.html[+read+] (M)
- link:_getopts.html[+getopts+] (M)
- link:_unset.html[+unset+] (S)

[[g-directory]]
==== Working directory

[role="list-group"]
- link:_cd.html[+cd+] (M)
- link:_pwd.html[+pwd+]
- link:_pushd.html[+pushd+] (L)
- link:_popd.html[+popd+] (L)
- link:_dirs.html[+dirs+] (L)

[[g-alias]]
==== Aliases

[role="list-group"]
- link:_alias.html[+alias+] (M)
- link:_unalias.html[+unalias+] (M)

[[g-history]]
==== Command history

[role="list-group"]
- link:_fc.html[+fc+] (M)
- link:_history.html[+history+] (L)

[[g-print]]
==== Printing strings

[role="list-group"]
- link:_echo.html[+echo+]
- link:_printf.html[+printf+]

[[g-lineedit]]
==== Line-editing

[role="list-group"]
- link:_bindkey.html[+bindkey+] (L)
- link:_complete.html[+complete+] (L)

[[g-misc]]
==== Miscellaneous

[role="list-group"]
- link:_help.html[+help+] (L)
- link:_colon.html[+:+ (colon)] (S)
- link:_true.html[+true+]
- link:_false.html[+false+]
- link:_test.html[+[+ (bracket), +test+]
- link:_type.html[+type+] (M)

// vim: set filetype=asciidoc textwidth=78 expandtab:
