如何通过单个Shell脚本在独立终端窗口运行前后端应用
用单个脚本自动打开终端运行前后端脚本
不同桌面环境的终端模拟器命令不一样,给你几个常见场景的实现方案:
GNOME Terminal(Ubuntu、Fedora等GNOME桌面)
如果用GNOME终端,脚本可以这样写,能分别打开新窗口(或标签页)运行前后端脚本,且执行完后保持终端窗口不关闭:
#!/bin/bash # 打开新窗口运行后端脚本 gnome-terminal --window --title="Backend" -- bash -c "./backend.sh; exec bash" # 打开新窗口运行前端脚本 gnome-terminal --window --title="Frontend" -- bash -c "./frontend.sh; exec bash"
如果想在同一个终端窗口的不同标签页运行,把--window换成--tab即可。
Konsole(KDE桌面)
针对KDE的Konsole终端,脚本写法如下:
#!/bin/bash # 新窗口运行后端,执行完保持窗口 konsole --new-window -e 'bash -c "./backend.sh; exec bash"' & # 新窗口运行前端,执行完保持窗口 konsole --new-window -e 'bash -c "./frontend.sh; exec bash"' &
末尾的&让命令在后台执行,避免主脚本阻塞。
xterm(轻量终端)
如果用xterm,脚本可以这样写:
#!/bin/bash # 后台运行xterm窗口执行后端脚本 xterm -e 'bash -c "./backend.sh; exec bash"' & # 后台运行xterm窗口执行前端脚本 xterm -e 'bash -c "./frontend.sh; exec bash"' &
macOS Terminal.app
在macOS上,借助AppleScript控制系统终端:
#!/bin/bash # 打开新终端窗口运行后端脚本 osascript -e 'tell application "Terminal" to do script "cd '$(pwd)'; ./backend.sh"' # 打开新终端窗口运行前端脚本 osascript -e 'tell application "Terminal" to do script "cd '$(pwd)'; ./frontend.sh"'
这里用$(pwd)确保终端切换到当前脚本所在的目录,避免路径问题。
注意事项
- 确保你的
backend.sh和frontend.sh有可执行权限,执行chmod +x backend.sh frontend.sh添加权限。 - 把脚本里的
./backend.sh和./frontend.sh换成实际的脚本路径(如果不在同一目录的话)。
内容的提问来源于stack exchange,提问作者Raggad Ghassen
相关产品推荐
相关产品推荐

