Warning: Work in progress! Leave feedback on Zulip or Github if you'd like this doc to be updated.

Word Language

This chapter in the Oils Reference describes the word language for OSH and YSH.

Table of Contents
Expressions to Words
expr-sub
expr-splice
var-splice
Formatting Typed Data as Strings
ysh-printf
ysh-format
Quotes
osh-string
ysh-string
triple-quoted
tagged-str
Substitutions
com-sub
var-sub
arith-sub
tilde-sub
Var Ops
op-test
op-strip
op-replace
op-index
op-slice
op-format

Expressions to Words

expr-sub

expr-splice

var-splice

Formatting Typed Data as Strings

ysh-printf

ysh-format

Quotes

osh-string

TODO: elaborate

ysh-string

YSH strings in the word language are the same as in the expression language.

See ysh-string in chap-expr-lang.

triple-quoted

Triple-quoted in the word language are the same as in the expression language.

See triple-quoted in chap-expr-lang.

tagged-str

Not done.

Substitutions

com-sub

Evaluates to the stdout of a command. If a trailing newline is returned, it's stripped:

$ hostname
example.com

$ x=$(hostname)
$ echo $x
example.com

var-sub

Evaluates to the value of a variable:

$ x=X
$ echo $x ${x}
X X

arith-sub

Shell has C-style arithmetic:

$ echo $(( 1 + 2*3 ))
7

tilde-sub

Used as a shortcut for a user's home directory:

~/src     # my home dir
~bob/src  # user bob's home dir

Var Ops

op-test

op-strip

op-replace

op-index

${a[i+1]}

op-slice

op-format

${x@P} evaluates x as a prompt string, e.g. the string that would be printed if PS1=$x.


Generated on Wed, 13 Mar 2024 14:59:38 -0400