| 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 | 
 |