oils-for-unix/oils
View on GitHub ↗ ★ 3,398 Python
Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
225 mentions on Hacker News by 35 people: 15 stories, 210 comments · first 2016-11-26 · latest 2025-11-06
20082026
-
…it with many people. The Ion shell author wrote some code toward it, and so did a zsh dev. https://github.com/oilshell/oil/wiki/Shellac-Protocol-Propos... But it didn't really go anywhere for a variety of reasons. One is the…
comment by chubot · 2021-05-05 · in CLUI: Building a Graphical Command Line (2020) -
…A couple years ago I wanted to tackle this problem for Oil, and there was some brainstorming here: https://github.com/oilshell/oil/wiki/Shell-Autocompletion https://github.com/oilshell/oil/wiki/Shellac-Protocol-Propos... and on the…
comment by chubot · 2021-05-05 · in CLUI: Building a Graphical Command Line (2020) -
…as often or as rarely as they like with little impact on whether they're good shells or not. Also: https://github.com/oilshell/oil/branches/all?query=release%2...
comment by abathur · 2021-05-04 · in ShellCheck: Finds bugs in your shell scripts -
BTW Ion is mentioned here along with many other alternative shells: https://github.com/oilshell/oil/wiki/Alternative-Shells
comment by chubot · 2021-04-13 · in What was the point of [ “x$var” = “xval” ]? -
…using these newer shells for their lack of portability. Maybe one day we can have nice things. [0]: https://github.com/oilshell/oil [1]: https://github.com/elves/elvish [2]: https://github.com/xonsh/xonsh [3]: https://github.com/neugram/ng
comment by maddyboo · 2021-04-12 · in What was the point of [ “x$var” = “xval” ]? -
…Next Generation Shell - https://github.com/ngs-lang/ngs Alternative Shells list by @chubot - https://github.com/oilshell/oil/wiki/Alternative-Shells
comment by ilyash · 2021-04-10 · in Ask HN: What to use instead of Bash / Sh for scripting? -
…Yep, there is a bunch! Andy, author of Oil Shell has a nice list for you: https://github.com/oilshell/oil/wiki/Alternative-Shells
comment by ilyash · 2021-04-06 · in Nushell: A New Type of Shell -
Have you tried any of the shells here? https://github.com/oilshell/oil/wiki/Alternative-Shells Discussed recently: https://news.ycombinator.com/item?id=26121592 A lot of them are "fundamentally reimagining" shell -- actually I'd say MOST…
comment by chubot · 2021-04-03 · in How to do things safely in Bash (2018) -
…Java, etc. I have done this with a bunch of HTML processors for the Oil blog and doc toolchain: https://github.com/oilshell/oil/tree/master/doctools It works well in practice and is correct and fast. Big caveat: this style is only for HTML…
comment by chubot · 2021-03-05 · in You can't parse [X]HTML with regex (2009) -
…about terminals to judge how feasible or easy it is, but if anyone does, please chime in here: https://github.com/oilshell/oil/issues/908
comment by chubot · 2021-02-27 · in Alternative shell with native support for JSON, YAML, TOML, CSV, etc. -
I just added a note at the top that embedded DSLs go here :) https://github.com/oilshell/oil/wiki/Internal-DSLs-for-Shell Rash is already there -- feel free to make the link/description more accurate, and add janet-sh, etc.
comment by chubot · 2021-02-13 · in Alternative Shells -
…maybe hack on the code too :) There is some nacsent / working code out there, linked in this issue. https://github.com/oilshell/oil/issues/738 I also created this #shell-gui Zulip channel in December: https://oilshell.zulipchat.com/#narrow/…
comment by chubot · 2021-02-13 · in Alternative Shells -
It's on the sister page linked at the top, because it's embedded in Scala: https://github.com/oilshell/oil/wiki/Internal-DSLs-for-Shell Feel free to fix up the link/description to be more useful/accurate.
comment by chubot · 2021-02-13 · in Alternative Shells -
It's on the sister page linked at the top, because it's embedded in Elisp AFAIK: https://github.com/oilshell/oil/wiki/Internal-DSLs-for-Shell
comment by chubot · 2021-02-13 · in Alternative Shells -
▲ 186
Alternative Shellsstory by chubot · 2021-02-13 · 106 comments
-
…stuff! >"Although I think richer pipelines make sense, structured data will probably come first: https://github.com/oilshell/oil/wiki/Structured-Data-in-Oil " Looks like you've been doing your homework! <g>
comment by peter_d_sherman · 2021-01-29 · in Why Create a New Unix Shell? -
…-n } ----- Although I think richer pipelines make sense, structured data will probably come first: https://github.com/oilshell/oil/wiki/Structured-Data-in-Oil
comment by chubot · 2021-01-28 · in Why Create a New Unix Shell? -
Yes there are some ideas discussed here: https://github.com/oilshell/oil/issues/738 I would call the 2 possible solutions an API or IPC, and what you're describing is basically IPC. The devil is in the details though... I'm interested in a…
comment by chubot · 2021-01-28 · in Why Create a New Unix Shell? -
…become clearer, and progress can be made on top. Some notes here about interactive shell ideas: https://github.com/oilshell/oil/wiki/Interactive-Shell Some people might think Oil is sort of a text-only or retro project ... but it really…
comment by chubot · 2021-01-27 · in Why Create a New Unix Shell? -
…a big deal and the runtime is solid now so they can be enhanced. Ideas here, feel free to chime in: https://github.com/oilshell/oil/issues/843 :)
comment by chubot · 2021-01-27 · in Why Create a New Unix Shell? -
▲ 37
The Biggest Shell Programs in the Worldstory by hyperpape · 2021-01-05 · 4 comments
-
…own mechanism for expressing duplication that's not the equivalent of a 70's-style #include. [1] https://github.com/oilshell/oil/blob/master/.travis.yml [2] http://www.oilshell.org/blog/2019/02/07.html
comment by chubot · 2020-12-20 · in Back to the '70s with Serverless -
…I changed my own configs to use .yml.in and .yml and it worked on both Travis CI and sourcehut. https://github.com/oilshell/oil/tree/master/.builds Some brainstorming here on this feature: https://github.com/oilshell/oil/wiki/Config-Dialect…
comment by chubot · 2020-12-13 · in Become Shell Literate -
…using jq for the first time. I used this to easily make a blog post out of a long Zulip thread [1] https://github.com/oilshell/oil/blob/master/services/zulip.s... (oops some tabs snuck in here) Figuring out how to use uftrace (and…
comment by chubot · 2020-12-12 · in Become Shell Literate -
…a slightly tighter but improved abstraction that runs on multiple cloud services. Notes on gg here: https://github.com/oilshell/oil/wiki/Distributed-Shell If anyone wants to help, get in touch! If you are pissed off about Travis then you…
comment by chubot · 2020-12-08 · in Travis CI is no longer providing CI minutes for open source projects -
…some experiments in that area here (and anyone should feel free to add more, including their own): https://github.com/oilshell/oil/wiki/Interactive-Shell Many of the articles have nice screenshots / animations to give you a feel for what…
comment by chubot · 2020-12-04 · in A terminal-based workflow for research, writing, and programming -
…QSN is fully implemented, but QTSV isn't done yet. Proposal here: https://github.com/oilshell/oil/wiki/TSV2-Proposal However the latest Oil release actually does emit QTSV! The "pp" builtin (for pretty-print) will print a QT
comment by chubot · 2020-11-08 · in CSVs: The Good, the Bad, and the Ugly -
Is this shell actually written in python2 in the year 2020? (see: https://github.com/oilshell/oil/tree/master/Python-2.7.13 )
comment by mariuolo · 2020-10-24 · in Four features that justify a new Unix shell -
…A QSN decoder is very easy to write. For example, here's a ~6 line regex that validates all of QSN: https://github.com/oilshell/oil/blob/master/qsn_/qsn.py#L498 True, you need like ~20 lines of code to decode it, but that's very easy too.…
comment by chubot · 2020-10-24 · in Four features that justify a new Unix shell -
I actually considered that, but it doesn't work. https://github.com/oilshell/oil/wiki/Shell-Almost-Has-a-JSON... Single quoted strings in shell can't represent arbitrary strings either. And the %q format is actually different from the…
comment by chubot · 2020-10-24 · in Four features that justify a new Unix shell -
…in the Oil repo. There are dozens of shell scripts that invoke custom tools in Python, R, and C++. https://github.com/oilshell/oil/tree/master/benchmarks For example, to generate this report on how much we speed up Python by translating it…
comment by chubot · 2020-10-24 · in Four features that justify a new Unix shell -
…from a contributor (that has languished -- I need help!) Let's discuss on the issue if interested: https://github.com/oilshell/oil/issues/843 Oil is easy to prototype (it's just Python code), so anyone who wants to make this feature their…
comment by chubot · 2020-10-23 · in Four features that justify a new Unix shell -
…|| true Or this if I don't need to run with bash anymore: shopt --set oil:basic Example: https://github.com/oilshell/oil/blob/master/test/spec.sh#L9 docs in progress: https://www.oilshell.org/release/0.8.3/doc/oil-options.html Having the…
comment by chubot · 2020-10-23 · in Four features that justify a new Unix shell -
Yes, I would like for that to happen: Shell as an engine for TUI or GUI https://github.com/oilshell/oil/issues/738 C++ code should be embeddable in another program https://github.com/oilshell/oil/issues/822 I think you can already use bash…
comment by chubot · 2020-10-23 · in Four features that justify a new Unix shell -
…modify/prototype, and then for the release it's translated into C++ for a 30-50x speedup [2]. https://github.com/oilshell/oil/wiki/Contributing [1] https://lobste.rs/s/qfiki1/four_features_justify_new_unix_sh... [2]…
comment by chubot · 2020-10-23 · in Four features that justify a new Unix shell -
…strict_errexit in Oil disallows that (a runtime assertion 100% of the time). Feedback is welcome! https://github.com/oilshell/oil/issues/709
comment by chubot · 2020-10-11 · in Bash Error Handling -
…between the amount of fusing that can be done and how expressive the metalanguage is. --- related: https://github.com/oilshell/oil/wiki/Compact-AST-Representat... (compiling programs that operate on trees to operate on packed…
comment by chubot · 2020-10-10 · in A New Back End for Cranelift -
I'm working on fixing errexit / set -e in Oil: https://github.com/oilshell/oil/issues/709 Summary of problems: 1. The "if myfunc" problem -- error checking is skipped. This is specified by POSIX, but it's undesirable. 2. The f() { test -d…
comment by chubot · 2020-10-10 · in Bash Error Handling -
https://github.com/shellcomp/shellcomp.github.io/blob/master... https://github.com/oilshell/oil/wiki/Shellac-Protocol-Propos...
comment by federico_c · 2020-10-08 · in Tools I use: argparse builder -
…with a new builtin that will address the deficiencies of getopt/getopts. You could help design it! https://github.com/oilshell/oil/issues/469
comment by chubot · 2020-10-02 · in Bash code generator for command-line arguments -
…later. I'm still looking for help too: http://www.oilshell.org/blog/2019/12/09.html#help-wanted https://github.com/oilshell/oil/issues?q=is%3Aissue+is%3Aope... https://github.com/oilshell/oil/issues?q=is%3Aissue+is%3Aope...
comment by chubot · 2020-09-29 · in New Features in the Fish Shell -
…Even though it cleans up many legacy warts, Oil runs thousands of lines of real bash programs: https://github.com/oilshell/oil/wiki/Shell-Programs-That-Run... Posts on the interactive shell: https://www.oilshell.org/blog/tags.html?tag=inter…
comment by chubot · 2020-09-29 · in New Features in the Fish Shell -
…and autoconf offer that, but mostly for different reasons.) This is a real problem that came up in: https://github.com/oilshell/oil/blob/master/Makefile I plan to switch to a generated Ninja script to solve some of these problems.
comment by chubot · 2020-09-23 · in No script is too simple -
…Here's a random example -- some scripts to generate source code as part of the build process: https://github.com/oilshell/oil/blob/master/build/codegen.sh The paths are all hard-coded, which is a good thing. In my mind, the goal is to save…
comment by chubot · 2020-09-22 · in No script is too simple -
…be less tied to the vagaries of bash. If anyone's script doesn't run under Oil, I'm interested. See https://github.com/oilshell/oil/wiki/What-Is-Expected-to-Run...
comment by chubot · 2020-09-19 · in Use long flags when scripting (2013) -
…out as a language. Yet people use it as one and write tens of thousands of lines of code in it. See https://github.com/oilshell/oil/wiki/The-Biggest-Shell-Progr... and https://oilshell.org
comment by chubot · 2020-09-14 · in Your Language Sucks, It Doesn’t Matter -
A link to some related fun & craziness, for people not too familiar with Oil: https://github.com/oilshell/oil/wiki/The-Biggest-Shell-Progr...
comment by akavel · 2020-09-09 · in Elvish is a friendly interactive shell and an expressive programming language -
…is / will be worth it. ----- There's an issue to run fzf, which was partially done last year: https://github.com/oilshell/oil/issues/322 I could use help looking into what remains there! And there are more such issues here:…
comment by chubot · 2020-09-09 · in Elvish is a friendly interactive shell and an expressive programming language -
…the biggest shell scripts in the world. It's the shell that's most compatible with bash by a mile. https://github.com/oilshell/oil/wiki/Shell-Programs-That-Run...
comment by chubot · 2020-08-07 · in Crush: A command line shell that is also a powerful modern programming language -
…HTML, and CSV/TSV over pipes, and people do. There are many command line toolkits that do this. https://github.com/oilshell/oil/wiki/Structured-Data-in-Oil However the shell is also missing few things which would help that approach, so I'd…
comment by chubot · 2020-08-07 · in Crush: A command line shell that is also a powerful modern programming language