我正在使用 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 命令。
任何帮助均感激不尽。