= Yet another shell (yash) manual
Yuki Watanabe <magicant@users.osdn.me>
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#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#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#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:posix.html[POSIXly-correct mode]
. link:faq.html[Frequently asked questions and troubleshooting]
.. link:faq.html#yashrc[The default prompt is too simple...]
.. 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]
--

[[builtins]]
== Built-ins

The `*' mark indicates a special built-in and the `&#43;' mark a semi-special
built-in. (See link:builtin.html#types[Types of built-in commands])

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

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

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

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

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

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

[role="list-group"]
- link:_set.html[+set+] *
- link:_ulimit.html[+ulimit+]
- link:_umask.html[+umask+] &#43;
- link:_trap.html[+trap+] *
- link:_cd.html[+cd+] &#43;
- link:_pwd.html[+pwd+] &#43;
- link:_times.html[+times+] *

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

[role="list-group"]
- link:_jobs.html[+jobs+] &#43;
- link:_fg.html[+fg+] &#43;
- link:_bg.html[+bg+] &#43;
- link:_wait.html[+wait+] &#43;
- link:_disown.html[+disown+]
- link:_kill.html[+kill+] &#43;
- link:_trap.html[+trap+] *

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

[role="list-group"]
- link:_typeset.html[+typeset+]
- link:_export.html[+export+] *
- link:_readonly.html[+readonly+] *
- link:_array.html[+array+]
- link:_set.html[+set+] *
- link:_shift.html[+shift+] *
- link:_read.html[+read+] &#43;
- link:_getopts.html[+getopts+] &#43;
- link:_unset.html[+unset+] *

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

[role="list-group"]
- link:_cd.html[+cd+] &#43;
- link:_pwd.html[+pwd+] &#43;
- link:_pushd.html[+pushd+]
- link:_popd.html[+popd+]
- link:_dirs.html[+dirs+]

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

[role="list-group"]
- link:_alias.html[+alias+] &#43;
- link:_unalias.html[+unalias+] &#43;

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

[role="list-group"]
- link:_fc.html[+fc+] &#43;
- link:_history.html[+history+]

[[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+]
- link:_complete.html[+complete+]

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

[role="list-group"]
- link:_help.html[+help+]
- link:_colon.html[+:+ (colon)] *
- link:_true.html[+true+] &#43;
- link:_false.html[+false+] &#43;
- link:_test.html[+[+ (bracket), +test+]
- link:_type.html[+type+]

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