#!/bin/bash
#此处定义一个数组
fire=(Java C JS PHP)
#获取数组长度
size=${#fire[@]}
#循环数组
for((i=0;i<size;i++))
do
pid=`jps -l | grep ${fire[$i]} | grep -v grep | cut -c -5`
if (( ${pid} ))
then
#kill -9 ${pid}
echo kill pid ${pid}
fi
cp -rf ~/${fire[$i]}_jar ~/wms/jar
cd ~/wms/jar/${fire[$i]}_jar
#nohup java -jar ${fire[$i]}.jar &
echo ${fire[$i]}已执行 休息3秒
sleep 3
echo 休息完成
done
#此处定义一个数组
fire=(Java C JS PHP)
#获取数组长度
size=${#fire[@]}
#循环数组
for((i=0;i<size;i++))
do
pid=`jps -l | grep ${fire[$i]} | grep -v grep | cut -c -5`
if (( ${pid} ))
then
#kill -9 ${pid}
echo kill pid ${pid}
fi
cp -rf ~/${fire[$i]}_jar ~/wms/jar
cd ~/wms/jar/${fire[$i]}_jar
#nohup java -jar ${fire[$i]}.jar &
echo ${fire[$i]}已执行 休息3秒
sleep 3
echo 休息完成
done
echo 操作已完成
总结:
以上是一个简单的linux脚本。其中涉及到的shell 命令与语法:
1.数组定义 fire=(1 2 3 4)
2.获取数组长度 ${#array[@]}
3.for循环 if 判断
4.pid=`jps -l | grep ${fire[$i]} | grep -v grep | cut -c -5` 是将jps 执行结果 赋值给pid 变量 cut -c -5 是截取字符串 1-5的字符 grep -v grep 则是去掉包括grep 数据行
5.cp -rf a b 将a目录复制到b目录下 cp -rf a/ b 将a下所有文件复制到b目录下
6.nohup java -jar ${fire[$i]}.jar & nohup command & 将命令放到后台执行
7.sleep 3 休眠3秒 3m 3分钟 3h 3小时