如何让 compgen -c 通过 javascript/node-cmd 输出?

如何让 compgen -c 通过 javascript/node-cmd 输出?

我正在使用 node-cmd 包来执行 bash 命令并在我的程序中使用输出。

对于大多数命令来说这很好用,除了 compgen-c 命令返回错误:stderr 返回:/bin/sh: 1: compgen: not found

err 返回:{“killed”:false,“code”:127,“signal”:null,“cmd”:“compgen -c”}

这是我的代码:

router.get('/commands', (req, res) => {
cmd.get('compgen -c',function(err, data, stderr) 
{res.send(data)}

预期输出:我的 Lubuntu 框上的所有 Linux 命令的列表。

现在,如果我在终端中运行“compgen -c”,它会正常执行并输出所有 2227 个 Linux 命令。Linux 错误代码 127 表示(据我所知)“未找到命令”。上述代码可与其他命令(如“ls”等)完美配合。

我猜 compgen 的行为与普通命令略有不同。例如:whereis compgen 返回 (terminal): empty,而它应该返回二进制文件的位置。

我的问题是:如何将 compgen -c 的输出放入我的节点脚本中?我的目标是列出所有 Linux 命令。

任何帮助均感激不尽。

相关内容