某些 bash 脚本在启动 Node.JS 之前需要的 "program" 模块在哪里?

Where is the "program" module that some bash scripts require before launching Node.JS?

我今天发现了一个 Bash 脚本,它使用 env 命令来启动 Node.JS。该脚本需要两个包,然后使用第二个包在启动节点之前解析 process 命令行参数,如下所示:

#! /usr/bin/env node
'use strict';

require('zos-lib').Logger.silent(false);
require('./program').parse(process.argv);

我在我的文件系统中找不到名为 './program' anywhere 的 module/package。谁能告诉我 program module/package 在哪里以及它做什么?我尝试了很多 Google 搜索,但不幸的是 program 是一个很常见的关键字,我找不到任何有用的东西。

更新slebetman 的 答案是正确的。我想解释一下为什么我在这次更新中找不到 program 模块,以防对其他人有所帮助。我一读到他关于该脚本是 Javascript 脚本的回答并寻找 program.js not program 我是通过使用以下命令从顶级 Node.js 目录搜索目录树找到它的:

$ find . -iname program.js

对我来说很不幸,你在下面看到的是我第一次尝试的,没有产生任何输出:

$ find . -iname program

您找到的脚本不是 bash 脚本。这是一个 javascript 脚本。具体来说,它是用 javascript 为 node.js.

编写的脚本

在node的require系统中,以./开头的模块名称表示该模块与脚本在同一文件夹中。

您没有告诉我们您发布的脚本的文件名。但是让我们假设它被称为 myscript.js。那么文件夹结构应该是:

/whatever/folder/myscript.js
/whatever/folder/program.js

/whatever/folder/myscript.js
/whatever/folder/program/index.js

/whatever/folder/myscript.js
/whatever/folder/program/package.json
/whatever/folder/program/whatever_script_name.js

如果您无法在与您正在查看的脚本相同的文件夹中找到文件 program.js 或文件夹 program,那么您没有正确复制脚本(您忘记复制"program" 个文件或文件夹)。