详细内容或原文请订阅后点击阅览
Amber:你在晦涩的 bash 脚本世界中的新超级力量
一种函数式语言,适合那些不想花时间学习 Bash 细微差别的人。
来源:安全实验室新闻频道一种函数式语言,适合那些不想花时间学习 Bash 细微差别的人。
Linux 和 DevOps 工具领域出现了一个有趣的新成员 - Amber,这是一种专注于创建 bash 脚本的下一代编程语言。这个开源项目在 GPL 3.0 下获得许可,提供了一种完全不同的 Bash 代码编写方法。
Linux 琥珀色 bashAmber 允许开发人员使用语法类似于 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 "我是成年人了"