| 1 | Shell Options
|
| 2 |
|
| 3 | [Option Groups] strict:all ysh:upgrade ysh:all
|
| 4 | [Strictness] ... More Runtime Errors
|
| 5 | strict_argv No empty argv
|
| 6 | strict_arith Fatal parse errors (on by default)
|
| 7 | strict_array Arrays don't decay to strings
|
| 8 | strict_control_flow Disallow misplaced keyword, empty arg
|
| 9 | strict_errexit Disallow code that ignores failure
|
| 10 | strict_nameref trap invalid variable names
|
| 11 | strict_word_eval Expose unicode and slicing errors
|
| 12 | strict_tilde Tilde subst can result in error
|
| 13 | X strict_glob Parse the sublanguage more strictly
|
| 14 | [YSH Upgrade] ... Migrate Existing Code to YSH
|
| 15 | parse_at echo @array @[arrayfunc(x, y)]
|
| 16 | parse_brace if true { ... }; cd ~/src { ... }
|
| 17 | parse_equals x = 'val' in Caps { } config blocks
|
| 18 | parse_paren if (x > 0) ...
|
| 19 | parse_proc proc p { ... }
|
| 20 | parse_triple_quote """$x""" '''x''' (command mode)
|
| 21 | parse_ysh_string echo r'\' u'\\' b'\\' (command mode)
|
| 22 | command_sub_errexit Synchronous errexit check
|
| 23 | process_sub_fail Analogous to pipefail for process subs
|
| 24 | sigpipe_status_ok status 141 -> 0 in pipelines
|
| 25 | simple_word_eval No splitting, static globbing
|
| 26 | xtrace_rich Hierarchical and process tracing
|
| 27 | xtrace_details (-u) Disable most tracing with +
|
| 28 | dashglob (-u) Disabled to avoid files like -rf
|
| 29 | expand_aliases (-u) Whether aliases are expanded
|
| 30 | redefine_proc (-u) Can procs be redefined?
|
| 31 | [Interactive] redefine_module 'module' builtin always returns 0
|
| 32 | X redefine_const Can consts be redefined?
|
| 33 | [Simplicity] ... More Consistent Style
|
| 34 | simple_echo echo doesn't accept flags -e -n
|
| 35 | simple_eval_builtin eval takes exactly 1 argument
|
| 36 | simple_test_builtin 3 args or fewer; use test not [
|
| 37 | X simple_trap Function name only
|
| 38 | [YSH Breaking] ... The Full YSH Language
|
| 39 | parse_at_all @ starting any word is an operator
|
| 40 | parse_backslash (-u) Allow bad backslashes in "" and $''
|
| 41 | parse_backticks (-u) Allow legacy syntax `echo hi`
|
| 42 | parse_bare_word (-u) 'case unquoted' and 'for x in unquoted'
|
| 43 | parse_dollar (-u) Allow bare $ to mean \$ (maybe $/d+/)
|
| 44 | parse_dparen (-u) Is (( legacy arithmetic allowed?
|
| 45 | parse_ignored (-u) Parse, but ignore, certain redirects
|
| 46 | parse_sh_arith (-u) Allow legacy shell arithmetic
|
| 47 | X copy_env (-u) Use $[ENV.PYTHONPATH] when false
|
| 48 | X old_builtins (-u) local/declare/etc. pushd/popd/dirs
|
| 49 | ... source unset printf [un]alias
|
| 50 | ... getopts
|
| 51 | X old_syntax (-u) [[ $(( )) ( ) ${x%prefix}
|
| 52 | ${a[@]} $$
|
| 53 | [Compatibility] eval_unsafe_arith Allow dynamically parsed a[$(echo 42)]
|
| 54 | verbose_errexit Whether to print detailed errors
|
| 55 | [More Options] _allow_command_sub To implement strict_errexit, eval_unsafe_arith
|
| 56 | _allow_process_sub To implement strict_errexit
|
| 57 | dynamic_scope To implement 'proc'
|
| 58 | _no_debug_trap Used in pipelines in job control shell
|