Tag: shell

npm链接导致javascript语法错误

我正在尝试与节点build立一个简单的CLI。 当我运行npm link并尝试我的命令,我得到语法错误logging到控制台完全有效的JS。 码 命令行 $ holla 输出: /usr/local/bin/holla: line 1: syntax error near unexpected token `'hello'' /usr/local/bin/holla: line 1: `console.log('hello')' 这是我的package.json: { "name": "npm-cli-test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "bin": { "holla": "index.js" } } 这里是我的index.js: console.log('hello') […]

NodeJS:需要习惯用法:读取目录中的文件,连接,转换,写入

我正在尝试在Node中编写一个内容manglement程序。 我是一个老的Ruby / Perl / Shell多年的手,我似乎无法得到在这些语言中工作的简单代码在Node中看起来类似,简单。 任务 :find所有的*.md文件,读取它们(按ls顺序),转换它们,用括号注释和页脚注释括起来。 这些文件按顺序有一个Markdown,在汇编和转换时,是一个合理的HTML文档。 这是一个shell实现: echo '<!– Generate at:' $(date) ' –>' $(ls *.md |xargs cat|markdown)'<!– Copyright Mumble-demo Inc. –>' 生成所需的HTML: <!– Generate at: Tue Jun 6 08:25:59 EDT 2017 –> <h1>This is a Markdown File</h1> <h2>Heading 1</h2> <p>Inside of markdown we can create many interesting items</p> <ul> <li>such</li> <li>as</li> […]

如何将parameter passing给nodejs中的.sh文件?

我们可以将parameter passing给Nodejs中的.sh文件,我正在尝试生成一个.sh文件,并且想要在产生时传递一些参数, var command = spawn(__dirname + "/import.sh", { var1: "abc" }); 在上面的命令我试图产卵文件import.sh,也试图传递参数一起,我不知道是否是正确的方法 以及如何检索import.sh文件中的variables值?

在JavaScript中设置一个variables(node.js)

我有一个脚本,我这样运行: node script.js 从script.js中,我想通过一个variables返回到shell继续使用。 如果你第一次没有得到它,我会再说一遍:基本上,运行JS来创build一个variables,然后我想用这个variables作为shell命令。 我试图查找这个,我没有太多的运气搞清楚。 简单地做console.log(foo = bar)不起作用。

无法在jenkins上为节点应用程序构build作业

我使用节点版本4.4.5和npm版本是5.3.0。 jenkins版本是2.46.2。 在构build时,我得到这个exception: /bin/sh -xe /tmp/hudson7756731843340614304.sh + PATH=/sbin:/usr/sbin:/usr/bin:/usr/local/bin + npm install /tmp/hudson7756731843340614304.sh: 6: /tmp/hudson7756731843340614304.sh: npm: not found构build步骤'Execute shell'标记为失败 The execute shell consist of: #echo "PATH is :$PATH" #echo "node version is :'node -v' " #echo "npm version is:'npm -v' " PATH=/sbin:/usr/sbin:/usr/bin:/usr/local/bin npm install npm run coverage zip -r EngagementSystemNodeApi.zip . 需要做什么PLZbuild议。

如何创build一个可以在全局安装的nodejs-command-line-tool?

如何构build/安装可以在全局范围内使用的node-command-line-tool? 我写了一个名为“ extractdeps ”的命令行实用程序,它将从package.json文件中列出来自节点应用程序的所有依赖项。 不像其他节点公用事业像“笑话”我不能在全球范围内执行它的shell没有进入其具体的path。 安装示例: $ npm install –verbose -g extractdeps -g npm info it worked if it ends with ok npm verb cli [ '/usr/local/Cellar/node/8.9.1/bin/node', npm verb cli '/usr/local/bin/npm', npm verb cli 'install', npm verb cli '–verbose', npm verb cli '-g', npm verb cli 'extractdeps', npm verb cli '-g' ] npm info using […]

在NodeJs spawn中绑定shell命令

我希望运行NODE_ENV=production node server或NODE_ENV=production node server cd ~/app/cms; npm test cd ~/app/cms; npm test使用NodeJs产生的 cd ~/app/cms; npm test 首先可以实现 process.env.NODE_ENV = 'production' start = spawn 'node', ['server'], process.env 但是我怎么能达到第二个? 更新 :如果有人有类似的问题,这里是我的例子在coffeescript: testCode = -> testCore = spawn 'npm', ['test'] testCore.stderr.on 'data', (data) -> console.log() process.stderr.write data.toString() testCore.stdout.on 'data', (data) -> print data.toString() testCore.on 'exit', -> path […]

我怎样才能将STDERRpipe理到在bash中运行的应用程序的STDIN?

我有一个网关bash脚本。 发送到STDERR的数据是我想要传送到由bash脚本(nodejs脚本)启动的应用程序的stdin的数据。 这里是我想要做什么的想法… bash-gateway.sh: #since STDERR will not continuously send data, i put a neverending while loop #to wait for data to be present. while (true); do #Read the data from STDERR and send it to server.js STDIN cat /dev/fd/2 | node server.js; done;

为什么npm需要一切sudo?

我不知道我是如何pipe理的,但npm似乎需要sudo才能完成每个命令,即使npm help也不能在没有sudo的情况下运行。 如果我没有sudo使用命令,我没有看到EACCESS错误,而是terminal会话挂起,然后closures该选项卡(我在Mac上使用iTerm)。 我试图改变我的本地.npm文件夹的所有权, 这里概述,也做了我的/usr/local/bin文件夹,其中节点安装,但没有这些允许我只是没有sudo运行npm,甚至当安装本地包…! 在我看来,有什么事情一路顺风,谁能帮忙? 非常感谢

命令行上的input在node.js中分析为process.argv的哪一点?

我写了一个采用命令行input的应用程序,但input不是来自bash或任何其他shell。 我的意思是,我通过另一种方式获得用户input,并最终得到一个string。 如果这个input是像正常那样通过命令行来的,那么节点会神奇地将命令行参数parsing到process.argv一个合适的数组中。 乍一看,复制这种行为似乎很简单,因为它只是str.split(' ')吗? 那么不太好。 argv魔术对input进行了一些预处理,确保像"hello there"这样的事情由于引号而最终成为一个数组项而不是两个。 可能还有其他的东西,它构build这个数组,我不知道。 我不是试图通过反复试验来重复这个逻辑,而是想知道你们中的任何一个人是否可以指出我发生这种逻辑的地方。 我不知道在哪里节点项目这个process.argv数组被定义。 我试图通过源search,但我不知道我真的在找什么。 任何人都可以指出我的逻辑在哪里? 我想复制它,以便我可以确信input被parsing的方式完全相同的shell/节点会。 更新: 我所需要的就是数组parsing。 我不需要string中的任何文本以任何其他方式解释。 我只想取一个string,并将其拆分成与node.argv相同的数组。 我只是希望find这个parsing逻辑,要么复制它,要么将其移植到JavaScript中。 一旦我有了数组,我通过一个选项parsing器库( yargs , 乐观 分子)运行它。 选项parsing器不理解stringinput,只有一个数组。 如果我想在process.argv传递,这很方便,但是如果我需要将string自己转换为数组,则不是那么方便。