4 个版本 (破坏性更新)
0.7.0 | 2022年3月12日 |
---|---|
0.6.0 | 2022年3月10日 |
0.2.0 | 2022年2月25日 |
0.1.0 | 2022年2月24日 |
#2887 在 命令行工具
15KB
304 行
xf
文件感知的动态命令运行器。
xf 尝试从当前目录向上查找文件,并根据找到的不同文件执行不同的命令。
安装
使用 cargo
cargo install xf
macOS、Linux、Windows 上的二进制文件
从 GitHub 发布 下载,解压并将 xf 添加到您的 $PATH。
用法
xf 从配置文件中加载规则。
配置文件的默认路径是
$HOME/.xf
,可以通过XF_CONFIG_PATH
环境变量指定。
规则格式是
<file>: <command>
<file>
告诉 xf
要查找哪个文件,<command>
告诉 xf
如果找到则执行哪个命令。
xf
有一个内置的最低优先级规则:Xfile: $file $@
配置以下规则
Taskfile: bash $file $@
运行 xf foo
。
xf
尝试在当前目录中查找 Taskfile
文件,如果找到,则执行 bash $file foo
.
如果没有找到,继续在当前目录中查找 Xfile
文件,如果找到,则执行 Xfile foo
(内置规则)。
如果没有找到,进入父目录继续此过程。
文件匹配规则
-
忽略大小写。
Xfile
可以匹配文件xfile
、xFile
。 -
找到包含规则文件名的文件名。
Xfile
可以匹配文件Xfile.sh
、Xfile.cmd
。
变量
以下内置变量可以在规则的命令部分中使用。
$@
- 传递命令行参数$file
- 文件路径$fileDir
- 文件目录,进程的工作目录将被设置为该值$currentDir
- 当前目录
这些变量(排除 $@
)也会同步到环境变量
$file
=>XF_FILE
$fileDir
=>XF_FILE_DIR
$currentDir
=>XF_CURRENT_DIR
命令名称
实际上,命令名称影响内置规则和环境变量前缀。
如果您将可执行文件 xf
重命名为 task
-
内置规则将是
Taskfile: $file $@
-
默认配置文件路径将是
$HOME/.task
。 -
环境变量
XF_CONFIG_PATH
将是TASK_CONFIG_PATH
。 -
$file
的环境变量将是TASK_FILE
。
许可证
版权(c)2022 xf-developers。
argc 在 MIT 许可证或 Apache 许可证 2.0 的条款下提供,由您选择。
有关许可证详情,请参阅 LICENSE-APACHE 和 LICENSE-MIT 文件。
依赖项
~150KB