如何使用 child_process 在相同和不同的终端上执行 运行 命令?
How do I run commands on the same and different terminals with 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输出为/home/famara/catkin_ws。但是我得到的结果是 /home/famara.
很多方法我都没有试过。我也读过 this page 但没读过。
在这里你做这样的事情。更简单的方式。
cd ~
returns 您转到您的用户帐户的主文件夹。
pwd
打印当前目录名,完整路径从根(/)开始
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);
}
});
我想一键执行多个终端事件。但是在一个终端中 运行 执行 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输出为/home/famara/catkin_ws。但是我得到的结果是 /home/famara.
很多方法我都没有试过。我也读过 this page 但没读过。
在这里你做这样的事情。更简单的方式。
cd ~
returns 您转到您的用户帐户的主文件夹。
pwd
打印当前目录名,完整路径从根(/)开始
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);
}
});