鍍金池/ 問答/Linux/ 如何保證shell腳本串行執(zhí)行

如何保證shell腳本串行執(zhí)行

如題,一個有多行命令的shell腳本,如何保證命令串行執(zhí)行?
比如第一條執(zhí)行完成后才開始執(zhí)行第二條,以此類推。
(&&好像可以實現(xiàn)這個功能,但命令太多改起來也挺麻煩)

shell腳本部分如下:

#!/bin/bash
alias cp='cp'
BASE_DIR=`pwd`

rm -rf output
mkdir output
cd output
mkdir A D F production

###############################################################
echo "start compile A"
#1 強(qiáng)制覆蓋配置文件  A環(huán)境
cd $BASE_DIR;
cp -af admin_Config/bza/* baixin-admin/resources/
cp -af gateway_Config/bza/* baixin-gateway/resources/
cp -af datasave_Config/bza/* baixin-datasave/resources/
cp -af robot_Config/bza/* baixin-robot/resources/

#2 maven編譯
cd $BASE_DIR/baixin-admin
echo "compile admin"
mvn clean package
cd $BASE_DIR/baixin-gateway
echo "compile gateway"
mvn clean package
cd $BASE_DIR/baixin-datasave
echo "compile datasave"
mvn clean package
cd $BASE_DIR/baixin-robot
echo "compile robot"
mvn clean package

cd $BASE_DIR/output/A

sleep 60

#3 生成打包規(guī)范目錄結(jié)構(gòu)
mkdir -p admin/admin
mkdir -p gateway/gateway
mkdir -p datasave/datasave
mkdir -p robot/robot

#4 生成order.txt
echo admin.war>admin/admin/order.txt
echo gateway.war>gateway/gateway/order.txt
echo datasave.war>datasave/datasave/order.txt
echo robot.war>robot/robot/order.txt


#5 復(fù)制war包
cp -a $BASE_DIR/baixin-admin/target/admin.war admin/admin/
cp -a $BASE_DIR/baixin-gateway/target/gateway.war gateway/gateway/
cp -a $BASE_DIR/baixin-datasave/target/datasave.war datasave/datasave/
cp -a $BASE_DIR/baixin-robot/target/robot.war robot/robot/

sleep 60
#6 打tar包
tar -cvf admin.tar admin
tar -cvf gateway.tar gateway
tar -cvf datasave.tar datasave
tar -cvf robot.tar robot

sleep 60
#7 刪除原文件
rm -rf admin gateway datasave robot
echo "end compile A"
###############################################################
回答
編輯回答
孤星

默認(rèn)就是串行執(zhí)行。
命令和后面加&會導(dǎo)致該行命令進(jìn)入后臺執(zhí)行
而下面的語句不等上面的執(zhí)行完就開始執(zhí)行,一般會報錯

2018年9月8日 15:08