1 个不稳定版本
0.1.0 | 2024年1月7日 |
---|
#3 in #rush
57KB
1.5K SLoC
rush
RUst SHell:一个使用最小外部依赖在Rust中实现的posix shell。
问题:为什么在Rust中还需要另一个shell?
答案:现有的shell项目(a)旨在成为“更好的shell”,(b)有很多依赖项,因此它们不能轻易地移植到非标准操作系统;而且非标准操作系统通常也需要交互式shell。
目标
- 一个简单的交互式shell,具有标准shell功能的一个熟悉的子集;
- 最小外部依赖,因此易于移植;
- 最终尽可能遵守规范。
非目标
- 比X(sh,bash等)更好。这个项目的主要目的是简单性和可移植性。
如何使用
- 只需执行'cargo run';
- 尝试各种命令;
- 提交错误报告;
- 输入'exit'或'quit'。
功能
- 基本行编辑(箭头,home/end,del/backspace,基本历史记录);
- 命令管道(例如'ls | wc -l');
- 通配符(例如"ls src/*.rs")(使用glob crate)。
待办事项
- 非交互模式(批处理);
- 变量、环境、循环、评估等。
贡献
- 欢迎;
- 如果您计划添加大型功能或进行非平凡的重构,请先讨论您的方案。