source | all docs for version 0.10.0 | all versions | oilshell.org
Warning: Work in progress! Leave feedback on Zulip or Github if you'd like this doc to be updated.
These are some ideas, extracted from Shell Language Deprecations.
These breakages may never happen, as they require a significant new lexer mode. If they do, you will want to avoid the following syntax:
$/
, '''
, """
anywhereI expect that those sequences are rare, so this change would break few programs.
parse_amp
)We want to make redirection simpler and more consistent. We can remove the
confusing <&
and >&
operators, and instead use >
and <
with
descriptors.
Remains the same:
echo foo >file
read :var <file
Old:
echo foo >& 2
read var <& 0
New:
echo foo > &2 # descriptor with &
read :var < &0
echo foo > &stderr # named descriptor
read :var < &stdin
Old:
echo foo 1>& 2
New:
echo foo &1 > &2
(Note: the syntax {fd}> file.txt
will be replaced by the open
builtin.)
https://github.com/oilshell/oil/issues/673
Instead of:
var pat = / digit+ /
egrep $pat *.txt
You can imagine:
egrep $/ digit+ / *.txt
Minor breakage: making $/
significant.
Note: this is probably possible with shopt --set strict_dollar
.