文章目录

  • ​​先来道例题​​
  • ​​文件头​​


会用bash脚本对开发和部署都很有帮助。

先来道例题

请说下该脚本的含义:

app_dir="/root"
app_name="test.jar"
app_port="8080"
# 下面3行其实是一行,为了直观写成3行了
[ -f $app_name ] && nohup java -server -Xmx1024m -Xms1024m
-javaagent:/root/skywalking-agent.jar
-jar -DAPP_HOME=$app_dir $app_name --server.port=$app_port &>/dev/null &

大概说下:

# 如果文件存在
[ -f $app_name ]

# 指定运行方式为server。一般有2种:server,启动慢,运行快。 client,启动快,运行慢。
-server

# 最大内存,最小内存
-Xmx1024m -Xms1024m

# 使用分布式链路追踪工具
-javaagent:/root/skywalking-agent.jar

# 相当于把日志丢弃了, /dev/null 是一个巨大的黑洞,永远填不满
&>/dev/null

# 话说-DAPP_HOME连写真的挺唬人的,差点以为-DAPP_HOME是个java命令选项呢
# -D是设置参数,设置APP_HOME=$app_dir的值
-DAPP_HOME=$app_dir

# $app_name 跟在 java -jar 后面,表示要运行的jar文件
$app_name

# 指定端口
--server.port=$app_port

# 表示后台运行
最后的 & 符号

文件头

#!/bin/bash