6个版本
新 0.3.2 | 2024年8月23日 |
---|---|
0.3.1 | 2024年8月23日 |
0.2.0 | 2024年8月8日 |
0.1.1 | 2024年8月2日 |
#299 在 文件系统
347 每月下载量
2MB
876 行
shell-toy
一个使用Rust实现的 cowsay | fortune
。
这仍然是一个WIP (请原谅这些小故障,它们来自asciiinema录制)
安装
由于项目状态不是我认为的“完成”,目前不提供预构建的二进制文件。
目前,最好的方法是使用Cargo
cargo install shell-toy
这将把shell-toy安装到您的本地路径上,作为 sh-toy
。然后您可以将其放在任何您想要的终端启动脚本中。
Cargo 功能
有一些编译时功能可以使shell-toy执行某些操作,例如在可执行文件中使用嵌入的内部copy of fortunes。这可以根据您的需求进行自定义。更多详细信息请见下文
功能 | 描述 |
---|---|
inline |
启用在编译的 sh-toy 可执行文件中内联fortunes。有关更多详细信息,请参阅 使用内联fortunes编译 |
inline-off |
还内联冒犯性fortunes。这些仍然可以通过 -o 标志进行阻止 |
fortune-git |
仅使用fortune-mod 存储库中的fortunes。期望在存储库中克隆子模块 |
使用内联fortunes进行编译
构建脚本将在使用fortunes时按以下顺序查找
- 如果指定了
FORTUNE_FILE
环境变量,则构建脚本将仅使用该文件的内容。 - 如果指定了
FORTUNE_PATH
或FORTUNEPATH
环境变量,则将嵌入该目录及其子目录中的fortunes作为单个文件。- 在子目录
off
中的冒犯性fortunes将单独处理,并且只有启用inline-off
功能时才会嵌入。因此,如果您有FORTUNE_PATH=~/.config/fortunes
,请将冒犯性fortunes放在~/.config/fortunes/off
- 在子目录
- 如果在Linux平台上,它将在默认的fortune位置查找,位置为
/usr/share/games/fortunes
。除非您启用inline-off
功能,否则来自这里的冒犯性fortune仍然不会嵌入。
如果您启用fortune-git
功能并克隆fortune-mod
子模块,则不会执行上述任何步骤。类似于上面的第3步,除非您启用inline-off
功能,否则来自这里的冒犯性fortune仍然不会嵌入。
如果您选择在除Linux以外的任何平台上编译,构建脚本将需要指定上述环境变量之一,除非您启用fortune-git
功能并克隆fortune-mod
子模块。
使用方法
通过运行带有--help
标志来获取帮助
$ sh-toy.exe --help
Usage: sh-toy.exe [<message>] [-c <cow-file>] [--cow-path <cow-path>] [-o <include-offensive>] [-b <bubble>]
various program options
Positional Arguments:
message
Options:
-c, --cow-file path to a direct cowfile
--cow-path path to a folder containing multiple cows we should search.
-o, --include-offensive
whether to include offensive fortunes
-b, --bubble the type of bubble to create. Options are "think", "round",
and "cowsay"
--help display usage information
注意:Windows/非Linux支持
如果您在Linux平台上,系统已安装并可用cowsay
和fortune
软件包,shell-toy将自动从默认安装目录中提取。否则,它需要一些变量或命令行参数。
COWPATH
或COW_PATH
:包含cowsay
牛的文件夹FORTUNE_FILE
:用于fortune的单个以%
分隔的文件,优先于PATH
对应项FORTUNEPATH
或FORTUNE_PATH
:包含fortune的文件夹。冒犯性fortune应放置在名为off
的子目录中,类似于fortune
的做法。
法律事项
shell-toy
采用MIT许可证。
虽然fortune-mod
是此存储库的Git子模块,但与fortune-mod
的可执行文件没有源代码或二进制链接;在特定的编译场景中仅使用fortune文件。我声称对该存储库中的内容没有所有权或知识产权。
本项目使用了以下项目的代码的部分修改(这在源代码中进行了记录)
- charasay - MIT许可证
依赖项
~2.2–3MB
~56K SLoC