• 解决问题: 多个脚本,在不同的目录,需要同时去执行他们并输出执行结果。
  1. 创建脚本 update_all.sh
#!/bin/bash

# 定义脚本目录
SCRIPT_DIR="/home"

module=$UPDATE_MODULE
param=$PARAM

# 检查是否传入标签参数
if [ -z "$module" ]; then
    echo "请提供一个标签参数,如 backstage, corp, data"
    exit 1
fi

# 根据标签参数选择对应的脚本
case $module in
    backstage)
        SCRIPT="$SCRIPT_DIR/update_project.sh"
        ;;
    corp)
        SCRIPT="$SCRIPT_DIR/update_project.sh"
        ;;
    data)
        SCRIPT="$SCRIPT_DIR/update_project.sh"
        ;;
    *)
        echo "未知的标签参数。请使用 backstage, corp, data 之一。"
        exit 1
        ;;
esac

# 检查脚本是否存在
if [ ! -f "$SCRIPT" ]; then
    echo "脚本 $SCRIPT 不存在。"
    exit 1
fi

# 检查 param 是否为空
if [ -z "$param" ]; then
    echo "参数 'param' 不能为空。请提供一个有效的值。"
    exit 1
fi

# 执行脚本并实时显示输出
echo "正在执行 $SCRIPT ..."
bash "$SCRIPT" $param | while IFS= read -r line; do
    echo "$line"
done
  1. 授权
chmod +x update_all.sh
  1. 执行查看效果
bash update_all.sh