| 1 | Oils for Unix
|
| 2 | =============
|
| 3 |
|
| 4 | Oils is a small tool that unifies shell, Python, regexes, JSON, and YAML. It's
|
| 5 | our upgrade path from bash to a better language and runtime!
|
| 6 |
|
| 7 | https://www.oilshell.org/
|
| 8 |
|
| 9 | This is fast shell in C++, completed in 2024. Its source code is generated
|
| 10 | from a reference implementation in Python, but it relies on no Python code.
|
| 11 |
|
| 12 | To use it, run:
|
| 13 |
|
| 14 | ./configure # detects whether GNU readline is installed, etc.
|
| 15 |
|
| 16 | _build/oils.sh # builds optimized binary
|
| 17 |
|
| 18 | sudo ./install
|
| 19 |
|
| 20 | All you need is a C++ compiler.
|
| 21 |
|
| 22 | Then try:
|
| 23 |
|
| 24 | osh -c 'echo hi'
|
| 25 |
|
| 26 | osh -n -c 'echo hi' # parse a script
|
| 27 |
|
| 28 | ysh -c 'json write ({foo: 42})'
|
| 29 |
|
| 30 | Feedback:
|
| 31 |
|
| 32 | https://github.com/oilshell/oil/issues
|
| 33 |
|
| 34 |
|
| 35 | More build configuration
|
| 36 | ------------------------
|
| 37 |
|
| 38 | You can pass the compiler and build variant to _build/oils.sh:
|
| 39 |
|
| 40 | _build/oils.sh ~/install/cosmocc/bin/cosmoc++ dbg
|
| 41 |
|
| 42 | The default values are 'cxx' (c++ system compiler), and 'opt' (optimized build)
|
| 43 |
|
| 44 | You can also override the variables documented at the top of
|
| 45 | build/ninja-rules-cpp.sh (e.g. BASE_CXXFLAGS, CXXFLAGS)
|
| 46 |
|