0 | pass | pass | var ref ${!a} |
1 | pass | pass | ${!ref-default} |
2 | pass | pass | ${!undef:-} |
3 | pass | pass | comparison to ${!array[@]} keys (similar SYNTAX) |
4 | pass | pass | ${!a[@]-'default'} is legal but fails with more than one element |
5 | pass | pass | var ref to $@ with @ |
6 | pass | pass | var ref to $1 and $2 with 1 and 2 |
7 | pass | pass | var ref: 1, @, * |
8 | pass | pass | var ref to special var BASH_SOURCE |
9 | pass | pass | var ref to $? with '?' |
10 | pass | pass | Var ref, then assignment with ${ := } |
11 | pass | pass | Var ref, then error with ${ ? } |
12 | pass | pass | Indirect expansion, THEN suffix operators |
13 | pass | pass | var ref OF array var -- silent a[0] decay |
14 | pass | pass | array ref |
15 | pass | pass | array ref with strict_array |
16 | pass | pass | var ref TO array var |
17 | pass | pass | var ref TO array var, with subscripts |
18 | pass | pass | var ref TO assoc array a[key] |
19 | pass | pass | var ref TO array with arbitrary subscripts |
20 | pass | pass | Bizarre tilde expansion in array index |
21 | pass | pass | Indirect expansion TO fancy expansion features bash disallows |
22 | pass | pass | Bad var ref |
23 | pass | pass | Bad var ref 2 |
24 | pass | pass | ${!OPTIND} (used by bash completion |
25 | pass | pass | var ref doesn't need cycle detection |
26 | pass | pass | Var Ref Code Injection $(tee PWNED) |
27 | pass | pass | ${!array_ref:-set} and ${!array_ref:=assign} |
28 | pass | pass | Array indirect expansion with suffix operators |
29 | pass | pass | Array indirect expansion with replacements |
30 | pass | pass | Array indirect expansion with @? conversion |