Contents

  1. Introduction

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

  3. Syntax ..ntokens[Tokens and keywords] Quotations …ndollar-single[Dollar-single-quotes] Aliases ..nsimple[Simple commands] Pipelines ..nand-or[And/or lists] Command separators and asynchronous commands ..ncompound[Compound commands] Grouping …nif[If command] While and until loops …nfor[For loop] Case command …ndouble-bracket[Double-bracket command] Function definition

  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] Declaration utility …nsearch[Command search] Termination of the shell ..nfunction[Functions] Local variables ..nenvironment[Command execution environment] Subshells

  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