https://github.com/sekiguchi-nagisa/arsh
A statically typed scripting language with shell-like features
https://github.com/sekiguchi-nagisa/arsh
cpp scripting-language shell
Last synced: 3 months ago
JSON representation
A statically typed scripting language with shell-like features
- Host: GitHub
- URL: https://github.com/sekiguchi-nagisa/arsh
- Owner: sekiguchi-nagisa
- License: apache-2.0
- Created: 2015-01-12T07:31:09.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2026-01-12T15:03:21.000Z (3 months ago)
- Last Synced: 2026-01-14T07:34:35.493Z (3 months ago)
- Topics: cpp, scripting-language, shell
- Language: C++
- Homepage:
- Size: 17.8 MB
- Stars: 27
- Watchers: 2
- Forks: 2
- Open Issues: 50
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Notice: NOTICE.md
Awesome Lists containing this project
- awesome-cli-apps-in-a-csv - arsh - A statically typed scripting language with shell-like features. (<a name="shells"></a>Shells)
- awesome-cli-apps - arsh - A statically typed scripting language with shell-like features. (<a name="shells"></a>Shells)
README
[](https://opensource.org/licenses/Apache-2.0)
[](https://coveralls.io/github/sekiguchi-nagisa/arsh?branch=master)
[](https://github.com/sekiguchi-nagisa/arsh/actions)
[](https://circleci.com/gh/sekiguchi-nagisa/arsh)
[](https://build.opensuse.org/package/show/home:nsekiguchi/arsh)
# arsh
A statically typed scripting language with shell-like features.
Currently, under heavy development. Language specification is subject to change without notice.
## Build Requirement
* Linux x86-64
* cmake 3.15 or later
* git (for fetching external projects)
* Python 3.7 or later (for building `re2c`)
* make/ninja
* gcc/clang (need gnu++17 support)
* libpcre2-8 10.30 or later
* need UTF-8 and Unicode property support
### Optional Requirement
* fzf (for history search)
* bash-completion (for tab-completion)
### Tested Compiler
* gcc (9, 10, 11, 12, 13, 14)
* clang (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
### Other Tested platform
* Linux
* Arm64
* macOS
* x86-64
* Arm64
* Windows x64
* Cygwin
* MSYS2
* WSL
## How to use
1. build and install
* install from source
```sh
$ git clone https://github.com/sekiguchi-nagisa/arsh.git
$ cd arsh && mkdir build && cd build
$ cmake .. # default install dir is /usr/local/bin
$ make -j4
$ sudo make install
```
* [install from package](https://software.opensuse.org//download.html?project=home%3Ansekiguchi&package=arsh)
* Debian 11, 12, 13
* Ubuntu 22.04, 24.04
* Fedora 40, 41, 42, 43
* openSUSE 16, Tumbleweed
2. run in interactive mode
```sh
$ arsh
```