Ubuntu 16.04下AngularJS与Node.js项目多终端npm start简化方法咨询
嘿,手动开7个终端敲相同命令确实够折腾的,给你几个实用的方案,一次性解决重复操作的问题:
方案1:用系统自带的gnome-terminal批量开终端执行命令
Ubuntu 16.04默认用的是gnome-terminal,直接用命令行就能批量创建终端窗口并自动执行npm start。
先把下面的命令里的/path/to/your/project替换成你实际的项目路径,然后直接在终端里运行:
for i in {1..7}; do gnome-terminal --window -- bash -c "cd /path/to/your/project; npm start; exec bash" done
--window:每次循环创建一个新的终端窗口bash -c "...":让终端执行指定的命令序列exec bash:确保执行完npm start后终端不会自动关闭,方便你查看日志
方案2:用tmux做终端复用(更高效,不用开一堆窗口)
如果不想桌面堆满终端窗口,tmux绝对是神器——它能在一个窗口里分出多个面板,统一管理所有进程。
步骤1:先安装tmux
sudo apt-get update && sudo apt-get install tmux
步骤2:一键创建7个面板并启动项目
同样替换/path/to/your/project为实际路径,运行下面的命令:
tmux new-session -d -s npm_projects for i in {2..7}; do tmux split-window -h -t npm_projects tmux select-layout -t npm_projects tiled done # 给所有面板发送启动命令 tmux send-keys -t npm_projects "cd /path/to/your/project; npm start" C-m # 最后附加到会话,就能看到所有面板的运行状态了 tmux attach-session -t npm_projects
之后你可以用tmux的快捷键(比如Ctrl+B + 箭头键)切换面板,用Ctrl+B + d暂时退出会话,下次用tmux attach -t npm_projects就能回到之前的状态,管理起来特别方便。
方案3:写个脚本一键启动(懒人必备)
把上面的命令存成一个shell脚本,以后每次只需要运行脚本就行,不用每次敲长命令。
- 创建一个名为
start_multiple_npm.sh的文件,内容如下:
#!/bin/bash # 替换成你的项目路径 PROJECT_DIR="/path/to/your/project" # 这里用方案1的逻辑,也可以换成tmux的命令 for i in {1..7}; do gnome-terminal --window -- bash -c "cd $PROJECT_DIR; npm start; exec bash" done
- 给脚本添加执行权限:
chmod +x start_multiple_npm.sh
- 以后启动项目只需要运行:
./start_multiple_npm.sh
选哪个方案看你习惯啦,tmux适合喜欢整洁桌面、需要长期管理进程的场景;gnome-terminal的方式更直观,和你原来的操作逻辑一致~
内容的提问来源于stack exchange,提问作者BlindCoder
相关产品推荐
相关产品推荐

