提问者:小点点

如何用child_process在相同和不同的终端上运行命令?


我想用一个按钮执行多个终端事件。 但是在一个终端中运行roscore命令之后,我必须在另一个终端中运行另外两个命令,然后该终端才会关闭(这两个命令必须在同一终端中工作)。 这怎么可能呢?

exec('cd ~/catkin_ws', (error, stdout, stderr) => {
            if (error) {
                if (error.signal == 'SIGTERM') {
                    console.log(error);
                } else {
                    console.log(stderr);
                }
            } else {
                console.log(stdout);
                exec('pwd', (error, stdout, stderr) => {
                    if (error) {
                        if (error.signal == 'SIGTERM') {
                            console.log(error);
                        } else {
                            console.log(stderr);
                        }
                    } else {
                        console.log(stdout);
                    }
                });
            }
        });

例如,我试图使pwd输出在be/home/famara/catkin_ws之上。 但我得到了/home/famara的结果。

我没有试过很多方法。 我也读过这一页,但不能。


共1个答案

匿名用户

在这里你做这样的事情。 用更简单的方式。

cd~返回到用户帐户的主文件夹。

pwd它打印当前目录名和从root(/)开始的完整路径

exec('cd ~/catkin_ws && pwd', (error, stdout, stderr) => {
 if (error) {
  if (error.signal == 'SIGTERM') {
   console.log(error);
  } else {
   console.log(stderr);
  }
 } else {
  console.log(stdout);
 }
});