Contents

  1. Introduction

  2. Invocation ..narguments[Command line arguments] Initialization of yash

  3. Syntax ..ntokens[Tokens and keywords] Quotations ..naliases[Aliases] Simple commands ..npipelines[Pipelines] And/or lists ..nasync[Command separators and asynchronous commands] Compound commands …ngrouping[Grouping] If command …nwhile-until[While and until loops] For loop …ncase[Case command] Double-bracket command

  4. Parameters and variables ..npositional[Positional parameters] Special parameters ..nvariables[Variables] Variables used by the shell

  5. Word expansions ..ntilde[Tilde expansion] Parameter expansion …nparam-prefix[Prefix] Parameter name …nparam-index[Index] Modifier ..ncmdsub[Command substitution] Arithmetic expansion ..nbrace[Brace expansion] Field splitting ..nglob[Pathname expansion] Extension in pathname expansion

  6. Pattern matching notation ..nnormal[Normal characters] Single-character wildcard ..nmultiple[Multi-character wildcard] Bracket expression ..nbra-normal[Normal characters (in bracket expression pattern)] Range expressions ..nbra-colsym[Collating symbols] Equivalence classes

  7. Redirection ..nfile[Redirection to files] Socket redirection ..ndup[Duplication of file descriptors] Here documents and here strings ..npipe[Pipeline redirection] Process redirection

  8. Command execution ..nsimple[Execution of simple commands] Command search ..nexit[Termination of the shell] Functions …nlocalvar[Local variables] Command execution environment

  9. Interactive mode ..nprompt[Prompts] Command history

  10. Job control

  11. Built-in commands ..ntypes[Types of built-in commands] Syntax of command arguments

  12. Line-editing ..noptions[Shell options on line-editing] Editing modes ..ncommands[Line-editing commands] Basic editing commands …nmotion-commands[Motion commands] Editing commands …ncompletion-commands[Completion commands] Vi-specific commands …nemacs-commands[Emacs-specific commands] History-related commands …nsearch-commands[Search mode commands] Escape sequences ..ncompletion[Command line completion] Completion details

  13. POSIXly-correct mode

  14. Frequently asked questions and troubleshooting ..nunicode[How can I use Unicode (non-ASCII) characters?] Line-editing does not work

  15. Formal definition of command syntax ..ntoken[Tokenization] Token classification …ncomments[Comments] Syntax

Built-ins

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

All built-ins in alphabetic order

Categorized list of built-ins

Execution control commands

Command execution environment

Job control and signalling

Parameters and variables

Working directory

Aliases

Command history

Printing strings

Line-editing

Miscellaneous