- 解决问题: 多个脚本,在不同的目录,需要同时去执行他们并输出执行结果。
- 创建脚本
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
- 授权
chmod +x update_all.sh
- 执行查看效果
bash update_all.sh