首页 > 解决方案 > 通过 .sh 脚本在不同的终端选项卡中并行启动两个节点脚本

问题描述

下面的可执行start.sh脚本并行运行两个命令。它完成了工作,但我只看到后一个命令的输出,而且这两个都是“活动”节点脚本,它们会根据项目代码更改不断输出信息。

#!/usr/bin/env bash

../../node_modules/.bin/tsc --watch | 
./node_modules/.bin/react-native start --reset-cache;

是否有一种方法可以通过相同的脚本一起运行它们,start.sh在终端中运行,但在单独的选项卡或窗口中运行每个命令?

标签: node.jsshellunixterminalsh

解决方案


这是 xterm 的示例。您需要根据使用的终端和 bash 进行调整。例如,我肯定知道 gnome-terminal 不支持-t标志,因此您需要省略它。

// a.sh
#! /bin/bash
echo "Hello from a"

// b.sh
#! /bin/bash
echo "Hello from b"

// main.sh
#! /bin/bash
xterm -t "proc a" -e "./a.sh" &
xterm -t "proc b" -e "./b.sh"

推荐阅读