19 个版本 (2 个稳定版)
2.0.1 | 2024年2月12日 |
---|---|
2.0.0 | 2024年1月25日 |
0.5.0 | 2020年4月21日 |
0.4.9 | 2020年4月16日 |
0.1.2 | 2020年1月11日 |
#68 in 操作系统
98 每月下载量
38KB
866 行
FCTool
Shell 脚本的最佳解决方案。
安装
- 安装 Cargo
- 运行
cargo install fctool
用法
fctool{输入文件}
示例
请参阅存储库中的 'examples' 目录。
文档
Hello world
Hello, world!
写入并覆盖文件
![file.txt]
写入但不覆盖
[file.txt]
定义变量
var = text
引用变量
{var}
从管道读取
%foriter
line {line_i}: {line}
%endfor
迭代指定表达式的行
%for line : {$["text.txt"]}
prefix {line} suffix
%endfor
使用指定分割字符串迭代指定表达式
%for line : {$["/etc/passwd"]}
%for column : {colon} : {line}
{column}
%endfor
%l
%endfor
执行命令
{$("echo 1")}
读取文件
{$["file.txt"]}
if else
%if {var == "value" || other == "foobar"}
condition was true!
%elif {var == "foo"}
Elif true!
%else
Else
%endif
用户输入
user_input = {input("enter value: ")}
退出进程
{exit}
源另一个 fctool 文件
{source("other.fctool")}
数学!
{x + y} Add
{x - y} Sub
{x * y} Mul
{x / y} Div
{x % y} Mod
{x ^ y} Pow
函数
%func add a b
%ret {a + b}
%endfunc
{add(1, 2)}
正则表达式匹配
%if {match(".+", "abc")}
matches!
%endif
换行符
%l
将输入文本输入到命令中
$$[cat]
hello
to
cat
使用控制字符变量
{ 左花括号
} 右花括号
: 冒号
; 分号
% 百分号
依赖
~5–8MB
~122K SLoC