crush
所属分类:编程语言基础
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2023-01-07 11:43:02
上 传 者:
sh-1993
说明: Crush是一种命令行shell,也是一种强大的现代编程语言。
(Crush is a command line shell that is also a powerful modern programming language.)
文件列表:
Cargo.lock (78785, 2023-01-07)
Cargo.toml (1694, 2023-01-07)
LICENSE (1062, 2023-01-07)
build.rs (150, 2023-01-07)
docs/ (0, 2023-01-07)
docs/config.md (2658, 2023-01-07)
docs/hacking.md (2144, 2023-01-07)
docs/misc.md (1265, 2023-01-07)
docs/overview.md (26688, 2023-01-07)
docs/syntax.md (5315, 2023-01-07)
example_data/ (0, 2023-01-07)
example_data/address.csv (79, 2023-01-07)
example_data/age.csv (46, 2023-01-07)
example_data/dinosaurs.json (146, 2023-01-07)
example_data/donald.json (482, 2023-01-07)
example_data/home.csv (71, 2023-01-07)
example_data/numbers.json (131, 2023-01-07)
example_data/text.txt (509, 2023-01-07)
example_data/tree/ (0, 2023-01-07)
example_data/tree/a (0, 2023-01-07)
example_data/tree/sub/ (0, 2023-01-07)
example_data/tree/sub/b (0, 2023-01-07)
example_data/tree/sub/c (0, 2023-01-07)
ideas (3823, 2023-01-07)
ordered_map/ (0, 2023-01-07)
ordered_map/Cargo.toml (129, 2023-01-07)
ordered_map/src/ (0, 2023-01-07)
ordered_map/src/lib.rs (21833, 2023-01-07)
signature/ (0, 2023-01-07)
signature/Cargo.toml (251, 2023-01-07)
signature/src/ (0, 2023-01-07)
signature/src/lib.rs (16315, 2023-01-07)
signature/src/signature.rs (23513, 2023-01-07)
signature/src/simple_signature.rs (10359, 2023-01-07)
src/ (0, 2023-01-07)
src/crush.proto (5774, 2023-01-07)
src/lang/ (0, 2023-01-07)
src/lang/argument.rs (15429, 2023-01-07)
... ...
# Crush
Crush is an attempt to make a traditional command line shell that is also a
modern programming language. It has the features one would expect from a modern
programming language like a type system, closures and lexical scoping, but with
a syntax geared toward both batch and interactive shell usage.
- [The overview](https://github.com/liljencrantz/crush/blob/master/docs/overview.md) gives a detailed overview of the
features of Crush.
- [The syntax documentation](https://github.com/liljencrantz/crush/blob/master/docs/syntax.md) contains more a detailed description
of the Crush syntax than what fits into the overview document.
- [The configuration documentation](https://github.com/liljencrantz/crush/blob/master/docs/config.md) describes how to configure Crush.
- [The hacking documentation](https://github.com/liljencrantz/crush/blob/master/docs/hacking.md) will eventually give you enough
information about the inner workings of Crush to start hacking yourself.
## Building and installing Crush
### OS X dependencies
* Install [Brew](https://github.com/liljencrantz/crush/blob/master/https://brew.sh/).
* Install openssl `brew install openssl`
* Install protobuf `brew install protobuf`
* Install git `xcode-select --install`
### Ubuntu dependencies
* Update apt index `apt update`
* Install dependencies `apt install build-essential git curl pkg-config libssl-dev libdbus-1-dev libsystemd-dev`
### Install Rust
Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Add it to your path
PATH=$PATH:$HOME/.cargo/bin
### Compile and install crush
clone this repository,
git clone https://github.com/liljencrantz/crush.git
and run
cd crush && cargo build --release && cargo install --path .
and you should have a working binary to try out in `~/.cargo/bin`.
That directory should already be in your path, so just write `crush` to run
the shell.
Have fun!
近期下载者:
相关文件:
收藏者: