3 ms·
Yes, `set -e` is broken The need to quote everything (default splitting on $IFS) is broken Globbing should be something one has to explicitly ask for By the
by chubot 3y ago
Yes, `set -e` is broken
The need to quote everything (default splitting on $IFS) is broken
Globbing should be something one has to explicitly ask for
By the way OSH runs existing shell scripts and ALSO fixes those 3 pitfalls, and more. Just add
shopt --set ysh:upgrade
to the top of your script, and those 3 things will go away.
If anyone wants to help the project, download a tarball, test our claims, and write a blog post about it :)
Details:
https://www.oilshell.org/release/latest/doc/error-handling.html https://www.oilshell.org/release/latest/doc/error-handling.h...
https://www.oilshell.org/release/latest/doc/simple-word-eval.html https://www.oilshell.org/release/latest/doc/simple-word-eval...
These docs are comprehensive, but most people don't want that level of detail, so having someone else test it and write something short would help!
For awhile I didn't "push" Oils because it still had a Python dependency. But it's now in pure C++, and good news: as of this week, we're beating bash on some compute-bound benchmarks!
(I/O bound scripts have always been the same speed, which is most shell scripts)
(Also, we still need to rename Oil -> YSH in those docs, that will probably cause some confusion for awhile - https://www.oilshell.org/blog/2023/03/rename.html https://www.oilshell.org/blog/2023/03/rename.html )
- chubot 3y agoSlight correction: bin/ysh has a few things that ysh:upgrade doesn't catch https://lobste.rs/s/6gycoi/making_hard_things_easy#c_sjfxif https://lobste.rs/s/6gycoi/making_hard_things_easy#c_sjfxif Feedback is welcome (especially based on upgrading real scripts)