编写shell脚本的另一种方式
谷歌开源 zx 工具,编写 shell 脚本的另一种方式
示例代码
nodejs 运行时
js
#!/usr/bin/env zx
const data =await $`ps | awk '{print $1}'`;
console.log(data);
/* 输出内容
ProcessOutput {
stdout: 'PID\n562\n1476\n1496\n1497\n1498\n',
stderr: '',
signal: null,
exitCode: 0,
duration: 14
}
*/
//获取 data 对象的 stdout
console.log(data.stdout);
/* 输出内容
PID
562
1512
1532
1533
1534
*/
deno 运行时
全局安装 zx 库
shell
deno install --global --allow-all npm:zx
上面代码文件赋予执行权限,执行运行
优点
- js 语法,易于编写,可读性强
- 兼容 js 生态,功能更加丰富,如 js 原生支持 json 数据处理,shell 需要 jq
- 容易跨平台,可以在macOS、Linux 和 Windows上运行