#shell #implemented #external #rush #exit #command #posixy

nightly app moto-rush

使用最小外部依赖在Rust中实现的posix shell

1 个不稳定版本

0.1.0 2024年1月7日

#3 in #rush

MIT/Apache

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

待办事项

  • 非交互模式(批处理);
  • 变量、环境、循环、评估等。

贡献

  • 欢迎;
  • 如果您计划添加大型功能或进行非平凡的重构,请先讨论您的方案。

依赖关系