Windows下Git Bash如何新开终端并在其中执行sh脚本?
Git Bash多终端启动指定端口测试服务器方案
核心命令修正
你之前尝试的start sh ./test.sh无法正确执行脚本,Git Bash环境下需要用start bash启动新终端,并通过-c参数指定要执行的命令。
调整test.sh支持端口参数
首先要让你的test.sh能接收端口参数,这样可以用同一个脚本启动不同端口的服务器,示例如下:
#!/bin/bash # test.sh - 启动指定端口的测试服务器 PORT=$1 # 替换成你的实际服务器启动命令(比如node、Python服务启动逻辑) echo "启动测试服务器,端口:$PORT" # 示例:用Python启动简单HTTP服务器(可替换为你的实际命令) python -m http.server $PORT
给test.sh添加执行权限:
chmod +x ./test.sh
编写批量启动脚本
创建一个start_servers.sh脚本,用来批量打开3个Git Bash终端并分别启动对应端口的服务器:
#!/bin/bash # 启动9092端口服务器,执行完脚本后保持终端打开 start bash -c "./test.sh 9092; exec bash" # 启动9093端口服务器 start bash -c "./test.sh 9093; exec bash" # 启动9094端口服务器 start bash -c "./test.sh 9094; exec bash"
同样给这个脚本加执行权限:
chmod +x ./start_servers.sh
执行方法
直接在Git Bash里运行:
./start_servers.sh
关键说明
start bash -c "命令":告诉Windows启动新的Git Bash进程,并执行引号内的命令; exec bash:确保服务器启动命令执行后,终端不会自动关闭,方便查看日志输出- 如果你的
test.sh在其他路径,要把./test.sh改成绝对路径(比如/c/Users/xxx/test.sh),避免路径问题
内容的提问来源于stack exchange,提问作者employee
相关产品推荐
相关产品推荐

