1 | ---
|
2 | title: OSH Assignment (Oils Reference)
|
3 | all_docs_url: ..
|
4 | body_css_class: width40
|
5 | default_highlighter: oils-sh
|
6 | preserve_anchor_case: yes
|
7 | ---
|
8 |
|
9 | <div class="doc-ref-header">
|
10 |
|
11 | [Oils Reference](index.html) —
|
12 | Chapter **OSH Assignment**
|
13 |
|
14 | </div>
|
15 |
|
16 | This chapter describes OSH assignment, which looks like `x=value`.
|
17 |
|
18 | <span class="in-progress">(in progress)</span>
|
19 |
|
20 | <div id="dense-toc">
|
21 | </div>
|
22 |
|
23 | ## Operators
|
24 |
|
25 | ### sh-assign
|
26 |
|
27 | ### sh-append
|
28 |
|
29 | ## Compound Data
|
30 |
|
31 | ### sh-array
|
32 |
|
33 | Array literals in shell accept any sequence of words, just like a command does:
|
34 |
|
35 | ls $mystr "$@" *.py
|
36 |
|
37 | # Put it in an array
|
38 | a=(ls $mystr "$@" *.py)
|
39 |
|
40 | Their type is [BashArray][].
|
41 |
|
42 | In YSH, use a [list-literal][] to create a [List][] instance.
|
43 |
|
44 | [BashArray]: chap-type-method.html#BashArray
|
45 |
|
46 | [List]: chap-type-method.html#List
|
47 | [list-literal]: chap-expr-lang.html#list-literal
|
48 |
|
49 |
|
50 | ### sh-assoc
|
51 |
|
52 | Associative arrays map strings to strings:
|
53 |
|
54 | declare -A assoc=(['k']=v ['k2']=v2)
|
55 |
|
56 | Their type is [BashAssoc][].
|
57 |
|
58 | In YSH, use a [dict-literal][] to create a [Dict][] instance.
|
59 |
|
60 | [BashAssoc]: chap-type-method.html#BashAssoc
|
61 |
|
62 | [Dict]: chap-type-method.html#Dict
|
63 | [dict-literal]: chap-expr-lang.html#dict-literal
|
64 |
|
65 | ## Builtins
|
66 |
|
67 | ### local
|
68 |
|
69 | ### readonly
|
70 |
|
71 | ### export
|
72 |
|
73 | ### unset
|
74 |
|
75 | ### shift
|
76 |
|
77 | ### declare
|
78 |
|
79 | ### typeset
|
80 |
|
81 | Another name for the [declare](#declare) builtin.
|