jb - 用轻松的方式写脚本

https://www.txthinking.com/talks/
Updated at: 2023-06-08

Bash 是一个很方便的脚本语言,但是当我们要写复杂的脚本时,考虑到心智负担和可维护性等,我们通常会考虑其他语言,比如 Python。jb 是一个 javascript 和 bash 的结合体。jb 只是一个独立的二进制文件,所以只需要放到 PATH 里即可,当然用 nami 也可以安装。

https://github.com/txthinking/jb

shebang

创建一个 script.js

#!/usr/bin/env jb

$`ls -l`

var output = $1`whoami`
$(`echo ${output}`)
chmod +x ./script.js
./script.js

jb

jb ./script.js

也可以执行远程脚本

jb https://www.txthinking.com/script.js

例子:写个简单的 brook linux 一键脚本

#!/usr/bin/env jb

// 检查 joker,没有就安装
if(!which('joker')){
    cp('https://github.com/txthinking/joker/releases/latest/download/joker_linux_amd64', '/usr/bin/joker')
}
// 检查 brook,没有就安装
if(!which('brook')){
    cp('https://github.com/txthinking/brook/releases/latest/download/brook_linux_amd64', '/usr/bin/brook')
}

echo(`
1. 运行 brook server
2. 运行 brook wsserver
`)
var answer = question(`选择要运行的编号:`)
var sub = ''
if(answer == 1){
    sub = 'server'
}
if(answer == 2){
    sub = 'wsserver'
}

var port = question(`输入监听的端口:`)
var pass = question(`输入一个密码:`)

$(`joker brook ${sub} --listen :${port} --password ${pass}`)

评论