1 |
# Oil builtins |
2 |
|
3 |
#### repr |
4 |
x=42 |
5 |
repr x |
6 |
echo status=$? |
7 |
repr nonexistent |
8 |
echo status=$? |
9 |
## STDOUT: |
10 |
x = (cell val:(value.Str s:42) exported:F readonly:F) |
11 |
status=0 |
12 |
status=1 |
13 |
## END |
14 |
|
15 |
#### repr on indexed array with hole |
16 |
declare -a array |
17 |
array[3]=42 |
18 |
repr array |
19 |
## STDOUT: |
20 |
array = (cell val:(value.MaybeStrArray strs:[_ _ _ 42]) exported:F readonly:F) |
21 |
## END |
22 |
|
23 |
|
24 |
#### push onto a=(1 2) |
25 |
shopt -s parse_at |
26 |
a=(1 2) |
27 |
push :a '3 4' '5' |
28 |
argv.py @a |
29 |
## STDOUT: |
30 |
['1', '2', '3 4', '5'] |
31 |
## END |
32 |
|
33 |
#### push onto var a = @(1 2) |
34 |
shopt -s parse_at |
35 |
var a = @(1 2) |
36 |
push a '3 4' '5' # : is optional |
37 |
argv.py @a |
38 |
## STDOUT: |
39 |
['1', '2', '3 4', '5'] |
40 |
## END |
41 |
|
42 |
#### push with invalid type |
43 |
s='' |
44 |
push :s a b |
45 |
echo status=$? |
46 |
## stdout: status=1 |
47 |
|
48 |
#### push with invalid var name |
49 |
push - a b |
50 |
echo status=$? |
51 |
## stdout: status=2 |
52 |
|
53 |
#### echo -sep, -end, -n, varying flag syntax |
54 |
shopt -s oil:all |
55 |
var a = @('a b' 'c d') |
56 |
echo @a |
57 |
echo . |
58 |
echo -- @a |
59 |
echo . |
60 |
|
61 |
echo -sep '' -end '' @a; echo |
62 |
echo . |
63 |
|
64 |
echo -sep '_' -- @a |
65 |
echo -sep '_' -end $' END\n' -- @a |
66 |
|
67 |
# with = |
68 |
echo -sep='_' -end=$' END\n' -- @a |
69 |
# long flags |
70 |
echo --sep '_' --end $' END\n' -- @a |
71 |
# long flags with = |
72 |
echo --sep='_' --end=$' END\n' -- @a |
73 |
|
74 |
echo -n x |
75 |
echo -n y |
76 |
echo |
77 |
|
78 |
## STDOUT: |
79 |
a b |
80 |
c d |
81 |
. |
82 |
a b |
83 |
c d |
84 |
. |
85 |
a bc d |
86 |
. |
87 |
a b_c d |
88 |
a b_c d END |
89 |
a b_c d END |
90 |
a b_c d END |
91 |
a b_c d END |
92 |
xy |
93 |
## END |
94 |
|
95 |
#### echo -e not supported |
96 |
shopt -s oil:all |
97 |
echo -e foo |
98 |
echo status=$? |
99 |
## stdout-json: "" |
100 |
## status: 2 |
101 |
|
102 |
#### echo syntax error |
103 |
shopt -s oil:all |
104 |
echo ---end foo |
105 |
echo status=$? |
106 |
## stdout-json: "" |
107 |
## status: 2 |
108 |
|
109 |
#### echo -- |
110 |
shopt -s oil:all |
111 |
echo -- |
112 |
# This is annoying |
113 |
echo -- -- |
114 |
echo done |
115 |
|
116 |
# this is a syntax error! Doh. |
117 |
echo --- |
118 |
## status: 2 |
119 |
## STDOUT: |
120 |
|
121 |
-- |
122 |
done |
123 |
## END |