无法 运行 使用 exec 执行终端命令

Can't run terminal commands with exec

我正在尝试在 nodejs 中使用 exec 函数,但它不起作用。

这是我正在运行的代码:

import { exec } from "child_process";

exec("ssh ubuntu@myserverip", (error, stdout, stderr) => {
    if (error) {
        console.error(`error: ${error.message}`);
    }

    if (stderr) {
        console.error(`stderr: ${stderr}`);
    }

    else {
        console.log(`stdout:\n${stdout}`);
    }
});

这就是它 returns :

虽然这是我直接在终端上写的输出:

知道如何修复它吗?

你应该用spawn,exec是用来执行命令的,它的结果会立即传递给我,或者在很短的时间内,它必须很快,输出或结果要到哪里交付给我的不是很大, 因为 exec 创建了一个缓冲区(内存 space),它将开始存储命令的所有输出,此外它还有一个超时,如果命令没有在那个时间内完成,它会终止进程。