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