aviator 命令行
AviatorScript 还提供了一个命令行工具,方便地直接执行脚本。
安装和执行
安装,请下载 aviator 文件,保存到某个在系统
PATH路径里的目录(比如~/bin):$ wget https://raw.githubusercontent.com/killme2008/aviator/master/bin/aviator--2020-04-26 21:41:04-- https://raw.githubusercontent.com/killme2008/aviator/master/bin/aviatorResolving localhost (localhost)... ::1, 127.0.0.1Connecting to localhost (localhost)|::1|:1081... failed: Connection refused.Connecting to localhost (localhost)|127.0.0.1|:1081... connected.Proxy request sent, awaiting response... 200 OKLength: 5289 (5.2K) [text/plain]Saving to: ‘aviator’
修改为可执行:
$ chmod u+x aviator
执行命令,会自动下载并安装 aviator jar 文件到
~/.aviatorscript目录下:$ aviatorDownloading AviatorScript now...% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 153 100 153 0 0 94 0 0:00:01 0:00:01 --:--:-- 94100 505k 100 505k 0 0 199k 0 0:00:02 0:00:02 --:--:-- 663kUsage: java com.googlecode.aviator.Main [file] [args]: java com.googlecode.aviator.Main -e [script]: java com.googlecode.aviator.Main -v
将下列脚本保存为文件
hello.av:p('Hello, AviatorScript!');
执行脚本:
$ aviator hello.avHello, AviatorScript!
也可以直接在命令行执行一段脚本,通过
-e选项: ```bash $ aviator -e “p(‘Hello, AviatorScript!’);” Hello, AviatorScript! null
最后的 null 是整个表达式的执行结果。<a name="RYczP"></a>### 命令行参数在脚本中可以通过 `ARGV` 数组来访问到:```javascriptp("ARGV count is: " + count(ARGV));for arg in ARGV {p(arg);}p("ARGV[0] = " + ARGV[0]);
保存为 test.av 并执行:
$ aviator test.av 1 2 3ARGV count is: 3123ARGV[0] = 1
我们传入了命令行参数 1 2 3 ,因此 count(ARGV) 返回 3,通过 for 循环迭代了数组并打印,最终我们还单独打印了 ARGV[0] ,也就是第一个命令行参数。
升级和其他命令
可以通过 upgrade 来升级 AviatorScript:
$ aviator upgradeThe script at /Users/boyan/bin/aviator will be upgraded to the latest stable version.Do you want to continue [Y/n]? YUpgrading.../Users/boyan/bin/aviator: line 123: [darwin18: command not found% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 137 100 137 0 0 99 0 0:00:01 0:00:01 --:--:-- 99100 5289 100 5289 0 0 2700 0 0:00:01 0:00:01 --:--:-- 5165kThe self-install jar already exists at /Users/boyan/.aviatorscript/self-installs/aviator-5.0.0.jar.If you wish to re-download, delete it and rerun "/Users/boyan/bin/aviator self-install".
因为当前已经是最新版本,所以不会重新安装。
安装文件在 ~/.aviatorscript/self-installs/ 下,可以删除重新执行 aviator 就会重新安装。
查看版本通过 -v 选项:
$ aviator -vAviatorScript 5.0.0-RC3-SNAPSHOT
第三方依赖包
从 5.2.4 开始,如果想在命令行调用脚本过程中需要使用到第三方类库,可以将 jar 包放入 user home 目录下的 ~/.aviatorscript/deps 目录,将自动加入启动后的 JVM 的 CLASSPATH ,你也可以通过 AVIATOR_DEPS 环境变量来修改这个目录。
