SpringShell 運(yùn)行腳本有兩種方式, 一種是在交互式終端中使用script內(nèi)置命令, 另外一種是在啟動(dòng)應(yīng)用時(shí)直接將腳本作為參數(shù)傳遞.
1. 創(chuàng)建命令腳本
命令腳本也就是一組命令的集合, 將一組命令寫(xiě)入文件. 命令以換行符結(jié)束. 筆者創(chuàng)建腳本為: /tmp/zongf/script
add 2 3
div 4 2
# 命令過(guò)多長(zhǎng)時(shí), 可使用 \ 進(jìn)行換行
div \
8 \
2
2. 運(yùn)行腳本
2.1 交互式執(zhí)行運(yùn)行腳本
交互式方式首先需要啟動(dòng)應(yīng)用, 進(jìn)入交互式終端, 然后借助內(nèi)置命令script, 將腳本文件的絕對(duì)路徑作為參數(shù), 直接運(yùn)行. 需要注意的是 script 命令一次只能運(yùn)行一個(gè)腳本
shell:>script /tmp/zongf/script
5
2
4
2.2 后臺(tái)運(yùn)行方式執(zhí)行腳本
后臺(tái)運(yùn)行方式無(wú)須進(jìn)入交互式終端, 使用java命令啟動(dòng)應(yīng)用時(shí), 直接將腳本作為應(yīng)用啟動(dòng)參數(shù)運(yùn)行即可. 需要注意:
- 腳本名稱(chēng)需要使用絕對(duì)路徑, 且需要以@開(kāi)頭
- 可同時(shí)傳遞多個(gè)腳本參數(shù)
- 應(yīng)用啟動(dòng)后, 執(zhí)行完腳本之后, 直接退出應(yīng)用, 不會(huì)停留在交互程序.
$ java -jar spring-shell-0.0.1-SNAPSHOT.jar @/tmp/zongf/script @/tmp/zongf/script
Welcom to :
__ _____ _______ __ __________ __
/ |/ /\ \/ / ___// / / / ____/ / / /
/ /|_/ / \ /\__ \/ /_/ / __/ / / / /
/ / / / / /___/ / __ / /___/ /___/ /___
/_/ /_/ /_//____/_/ /_/_____/_____/_____/
Version: 0.0.1-SNAPSHOT
Author: zongf
Date: 2019-01-26
# 執(zhí)行了兩遍...
5
2
4
5
2
4