#!/bin/bash
# 定义任务1函数
task1() {
echo "开始执行任务1"
# 模拟任务1执行,这里可以替换为实际任务
sleep 2
echo "任务1执行完成"
return 0
}
# 定义任务2函数
task2() {
echo "开始执行任务2"
# 模拟任务2执行,这里可以替换为实际任务
sleep 3
echo "任务2执行完成"
return 0
}
# 定义任务3函数
task3() {
echo "开始执行任务3"
# 模拟任务3执行,这里可以替换为实际任务
sleep 1
echo "任务3执行完成"
return 0
}
# 定义任务4函数
task4() {
echo "开始执行任务4"
# 模拟任务4执行,这里可以替换为实际任务
sleep 1
echo "任务4执行完成"
return 0
}
# 主调度函数
main() {
# 并行执行任务1和任务2
task1 & task1_pid=$!
task2 & task2_pid=$!
# 等待任务1和任务2完成,并检查是否有失败
wait $task1_pid
if [ $? -ne 0 ]; then
echo "任务1执行失败"
exit 1
fi
wait $task2_pid
if [ $? -ne 0 ]; then
echo "任务2执行失败"
exit 1
fi
# 任务1和任务2都完成后执行任务3
task3
if [ $? -ne 0 ]; then
echo "任务3执行失败"
exit 1
fi
# 任务3完成后执行任务4
task4
if [ $? -ne 0 ]; then
echo "任务4执行失败"
exit 1
fi
}
# 调用主函数
main