OILS / _devbuild / help / ysh-option View on Github | oilshell.org

58 lines, 57 significant
1Shell 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