Amber:你在晦涩的 bash 脚本世界中的新超级力量

一种函数式语言,适合那些不想花时间学习 Bash 细微差别的人。

来源:安全实验室新闻频道

一种函数式语言,适合那些不想花时间学习 Bash 细微差别的人。

Linux 和 DevOps 工具领域出现了一个有趣的新成员 - Amber,这是一种专注于创建 bash 脚本的下一代编程语言。这个开源项目在 GPL 3.0 下获得许可,提供了一种完全不同的 Bash 代码编写方法。

Linux 琥珀色 bash

Amber 允许开发人员使用语法类似于 ECMAScript 的现代高级语言进行编写。然后代码被编译成 bash 脚本,可以直接运行或在其他地方使用。

作为示例,简单的 Amber 脚本如下所示:

作为示例,简单的 Amber 脚本如下所示:

// 定义变量

// 定义变量

让名字=“约翰”

让名字=“约翰”

让年龄 = 30

让年龄 = 30

// 显示问候语

// 显示问候语

echo "你好,我的名字是 {name}"

echo "你好,我的名字是 {name}"

// 执行条件检查

// 执行条件检查

如果年龄 < 18 {

如果年龄 < 18 {

echo "我还没有成年"

echo "我还没有成年"

} 其他 {

} 其他 {

echo "我是成年人了"

echo "我是成年人了"

}

}

// 循环数组

// 循环数组

letfruits = ["苹果", "香蕉", "樱桃", "枣子"]

letfruits = ["苹果", "香蕉", "樱桃", "枣子"]

echo "我最喜欢的水果是:"

echo "我最喜欢的水果是:"

在水果中循环水果 {

在水果中循环水果 {

回声水果

回声水果

}

}

编译后,程序将脚本test.ab转换为bash脚本test.sh,内容如下:

编译后,程序将脚本test.ab转换为bash脚本test.sh,内容如下:

__0_name="约翰";

__0_name="约翰";

__1_年龄=30;

__1_年龄=30;

echo "你好,我的名字是 ${__0_name}";

echo "你好,我的名字是 ${__0_name}";

if [ $(echo ${__1_age} '<' 18 | bc -l | sed '/\./ s/\.\{0,1\}0\{1,\}$//') !=0];然后

if [ $(echo ${__1_age} '<' 18 | bc -l | sed '/\./ s/\.\{0,1\}0\{1,\}$//') !=0];然后

echo "我还没有成年"

echo "我还没有成年"

其他

其他

echo "我是成年人了"

echo "我是成年人了"