You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac Monterey下Bash脚本无法同时启动React与Firebase模拟器求助

解决Mac下Bash脚本无法同时启动多终端服务的问题

修正后的start.sh脚本

#!/bin/bash

# 启动React前端服务(新开终端)
open -a Terminal --args bash -c "cd $(pwd)/../frontend/my_app && npm start; exec bash"

# 启动Firebase云函数模拟器(新开终端)
open -a Terminal --args bash -c "cd $(pwd)/../backend/functions && firebase emulators:start --only functions; exec bash"

关键说明

  1. 路径处理:$(pwd)获取当前start.sh所在的general目录路径,通过../跳转到项目根目录,再进入对应子目录,确保命令在正确的工作目录执行。
  2. 新开终端执行:open -a Terminal --args bash -c "..." 会启动新的Terminal窗口,并在其中执行引号内的命令,避免单终端阻塞问题。
  3. 保持终端存活:命令末尾的exec bash 用于防止服务启动后终端自动关闭,方便查看实时运行日志。
  4. 脚本权限配置:执行前需要给脚本添加可执行权限:
    chmod +x start.sh
    

替代方案(若使用iTerm2)

如果你的默认终端是iTerm2,只需把open -a Terminal替换为open -a iTerm即可:

#!/bin/bash

open -a iTerm --args bash -c "cd $(pwd)/../frontend/my_app && npm start; exec bash"
open -a iTerm --args bash -c "cd $(pwd)/../backend/functions && firebase emulators:start --only functions; exec bash"

内容的提问来源于stack exchange,提问作者Giulio Serra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:24:37