| 1 | ---
|
| 2 | in_progress: yes
|
| 3 | css_files: ../../web/base.css ../../web/ref-index.css ../../web/toc.css
|
| 4 | preserve_anchor_case: yes
|
| 5 | ---
|
| 6 |
|
| 7 | OSH Table of Contents
|
| 8 | =====================
|
| 9 |
|
| 10 | [OSH]($xref) is a POSIX- and [bash]($xref)-compatible shell.
|
| 11 |
|
| 12 | This page has links to topics in the [Oils Reference](index.html).
|
| 13 |
|
| 14 | Siblings: [YSH Topics](toc-ysh.html), [Data Topics](toc-data.html)
|
| 15 |
|
| 16 | <div id="toc">
|
| 17 | </div>
|
| 18 |
|
| 19 |
|
| 20 | <h2 id="front-end">
|
| 21 | Front End (<a class="group-link" href="chap-front-end.html">front-end</a>)
|
| 22 | </h2>
|
| 23 |
|
| 24 | ```chapter-links-front-end
|
| 25 | [Usage] osh-usage config startup line-editing prompt
|
| 26 | exit-codes
|
| 27 | [Lexing] comment # line-continuation \ ascii-whitespace [ \t\r\n]
|
| 28 | ```
|
| 29 |
|
| 30 | <h2 id="cmd-lang">
|
| 31 | Command Language (<a class="group-link" href="chap-cmd-lang.html">cmd-lang</a>)
|
| 32 | </h2>
|
| 33 |
|
| 34 | ```chapter-links-cmd-lang
|
| 35 | [Commands] simple-command semicolon ;
|
| 36 | [Conditional] case if true false colon :
|
| 37 | bang ! and && or || dbracket [[
|
| 38 | [Iteration] while until for for-expr-sh ((
|
| 39 | [Control Flow] break continue return exit
|
| 40 | [Grouping] sh-func sh-block { subshell (
|
| 41 | [Concurrency] pipe | X |&
|
| 42 | ampersand &
|
| 43 | [Redirects] redir-file > >> >| < <> X &>
|
| 44 | redir-desc >& <&
|
| 45 | here-doc << <<- <<<
|
| 46 | [Other Command] dparen (( time X coproc X select
|
| 47 | ```
|
| 48 |
|
| 49 | <h2 id="osh-assign">
|
| 50 | Assignments and Expressions (<a class="group-link" href="chap-osh-assign.html">osh-assign</a>)
|
| 51 | </h2>
|
| 52 |
|
| 53 | ```chapter-links-osh-assign
|
| 54 | [Literals] sh-array array=(a b c) array[1]=B "${a[@]}"
|
| 55 | sh-assoc assoc=(['a']=1 ['b']=2) assoc['x']=b
|
| 56 | [Operators] sh-assign str='xyz'
|
| 57 | sh-append str+='abc'
|
| 58 | [Builtins] local readonly export unset shift
|
| 59 | declare typeset X let
|
| 60 | ```
|
| 61 |
|
| 62 | <h2 id="word-lang">
|
| 63 | Word Language (<a class="group-link" href="chap-word-lang.html">word-lang</a>)
|
| 64 | </h2>
|
| 65 |
|
| 66 | ```chapter-links-word-lang
|
| 67 | [Quotes] osh-string 'abc' $'line\n' "$var"
|
| 68 | [Substitutions] command-sub $(command) `command`
|
| 69 | var-sub ${var} $0 $9
|
| 70 | arith-sub $((1 + 2))
|
| 71 | tilde-sub ~/src
|
| 72 | proc-sub diff <(sort L.txt) <(sort R.txt)
|
| 73 | [Var Ops] op-test ${x:-default}
|
| 74 | op-strip ${x%%suffix} etc.
|
| 75 | op-replace ${x//y/z}
|
| 76 | op-index ${a[i+1}
|
| 77 | op-slice ${a[@]:0:1}
|
| 78 | op-format ${x@P}
|
| 79 | ```
|
| 80 |
|
| 81 | <h2 id="mini-lang">
|
| 82 | Other Mini Languages (<a class="group-link" href="chap-mini-lang.html">mini-lang</a>)
|
| 83 | </h2>
|
| 84 |
|
| 85 | ```chapter-links-mini-lang
|
| 86 | [Arithmetic] arith-context Where legacy arithmetic is allowed
|
| 87 | sh-numbers 0xFF 0755 etc.
|
| 88 | sh-arith 1 + 2*3 a *= 2
|
| 89 | sh-logical !a && b
|
| 90 | sh-bitwise ~a ^ b
|
| 91 | [Boolean] dbracket [[ vs. the test builtin
|
| 92 | bool-expr [[ ! $x && $y || $z ]]
|
| 93 | test ! $x -a $y -o $z
|
| 94 | bool-infix [[ $a -nt $b ]] [[ $x == $y ]]
|
| 95 | bool-path [[ -d /etc ]]
|
| 96 | bool-str [[ -z '' ]]
|
| 97 | bool-other [[ -o errexit ]]
|
| 98 | [Patterns] glob-pat *.py
|
| 99 | extglob ,(*.py|*.sh)
|
| 100 | regex [[ foo =~ [a-z]+ ]]
|
| 101 | [Other Sublang] braces {alice,bob}@example.com
|
| 102 | histsub !$ !! !n
|
| 103 | char-escapes \t \c \x00 \u03bc
|
| 104 | ```
|
| 105 |
|
| 106 | <h2 id="builtin-cmd">
|
| 107 | Builtin Commands (<a class="group-link" href="chap-builtin-cmd.html">builtin-cmd</a>)
|
| 108 | </h2>
|
| 109 |
|
| 110 | ```chapter-links-builtin-cmd
|
| 111 | [I/O] read echo printf
|
| 112 | readarray mapfile
|
| 113 | [Run Code] source . eval trap
|
| 114 | [Set Options] set shopt
|
| 115 | [Working Dir] cd pwd pushd popd dirs
|
| 116 | [Completion] complete compgen compopt compadjust compexport
|
| 117 | [Shell Process] exec X logout
|
| 118 | umask X ulimit times
|
| 119 | [Child Process] jobs wait ampersand &
|
| 120 | fg X bg X kill X disown
|
| 121 | [External] test [ getopts
|
| 122 | [Introspection] help hash type X caller
|
| 123 | [Word Lookup] command builtin
|
| 124 | [Interactive] alias unalias history X fc X bind
|
| 125 | X [Unsupported] enable
|
| 126 | ```
|
| 127 |
|
| 128 | <h2 id="option">
|
| 129 | Global Shell Options (<a class="group-link" href="chap-option.html">option</a>)
|
| 130 | </h2>
|
| 131 |
|
| 132 | ```chapter-links-option
|
| 133 | [Errors] nounset pipefail errexit inherit_errexit
|
| 134 | [Globbing] noglob nullglob failglob dashglob
|
| 135 | [Debugging] xtrace X verbose X extdebug
|
| 136 | [Interactive] emacs vi
|
| 137 | [Other Option] X noclobber
|
| 138 | ```
|
| 139 |
|
| 140 | <h2 id="special-var">
|
| 141 | Special Variables (<a class="group-link" href="chap-special-var.html">special-var</a>)
|
| 142 | </h2>
|
| 143 |
|
| 144 | ```chapter-links-special-var
|
| 145 | [Shell Vars] IFS X LANG X GLOBIGNORE
|
| 146 | [Shell Options] SHELLOPTS X BASHOPTS
|
| 147 | [Other Env] HOME PATH
|
| 148 | [POSIX Special] $@ $* $# $? $- $$ $! $0 $9
|
| 149 | [Other Special] BASH_REMATCH @PIPESTATUS
|
| 150 | [Platform] HOSTNAME OSTYPE
|
| 151 | [Call Stack] @BASH_SOURCE @FUNCNAME @BASH_LINENO
|
| 152 | X @BASH_ARGV X @BASH_ARGC
|
| 153 | [Tracing] LINENO
|
| 154 | [Process State] X BASHPID X PPID UID EUID
|
| 155 | X [Process Stack] BASH_SUBSHELL SHLVL
|
| 156 | X [Shell State] BASH_CMDS @DIRSTACK
|
| 157 | [Completion] @COMP_WORDS COMP_CWORD COMP_LINE COMP_POINT
|
| 158 | COMP_WORDBREAKS @COMPREPLY X COMP_KEY
|
| 159 | X COMP_TYPE COMP_ARGV
|
| 160 | [History] HISTFILE
|
| 161 | [cd] PWD OLDPWD X CDPATH
|
| 162 | [getopts] OPTIND OPTARG X OPTERR
|
| 163 | [read] REPLY
|
| 164 | [Functions] X RANDOM X SECONDS
|
| 165 | ```
|
| 166 |
|
| 167 | <h2 id="plugin">
|
| 168 | Plugins and Hooks (<a class="group-link" href="chap-plugin.html">plugin</a>)
|
| 169 | </h2>
|
| 170 |
|
| 171 | ```chapter-links-plugin
|
| 172 | [Signals] SIGTERM X SIGINT X SIGABRT SIG...
|
| 173 | [Traps] DEBUG ERR EXIT X RETURN
|
| 174 | [Words] PS1 X PS2 X PS3 PS4
|
| 175 | [Completion] complete
|
| 176 | [Other Plugin] X command_not_found PROMPT_COMMAND
|
| 177 | ```
|