Tag: shell

在node-webkit中使用JavaScript运行shell命令?

有什么方法可以从node-webkit的JavaScript运行shell命令? 有很多类似的问题,但它并没有帮助我。 我正在尝试构build简单的桌面应用程序来列出已安装的工具。 我已经创build了节点模块“tools-v”,它是全局安装的,并且可以在命令行中运行。 这个模块运行几个命令: npm -v , node -v , git -v等。我在Windows 7上。 //var sys = require('sys'); var exec = require('child_process').exec; //var toolsv = (process.platform === "win32" ? "tools-v.cmd" : "tools-v"); $(document).ready(function() { //myCmd = "C:\\Users\\win7\\AppData\\Roaming\\npm\\tools-v.cmd"; //myCmd = toolsv; myCmd = 'tools-v'; //gui.Shell.openItem('firefox',function(error, stdout, stderr) { }); //opening Firefox works. exec(myCmd, function (error, stdout, […]

mongoose.mongo.MongoClient.connect()是否在没有mongo shell的情况下工作?

我连接到不是本地主机的mongo服务器。 我正在使用mongoose。 有时候我需要连接mongo本地驱动程序,所以我这样做: mongoose.mongo.MongoClient.connect(uri, function (err, conn) {}); 但conn对象为null 。 最近我改变了服务器结构,现在所有的mongo数据库都是远程的,在我的新节点机器上我没有安装mongo shell …首先,所有工作都正常,连接uri是: mongodb://xxxx:27017/database,mongodb://yyyy,mongodb://zzzz 在那里xxxx:27017是主要的,经过一段时间由于初始小学的rest,新的小学已经被选举,现在我开始使用相同的uri,但连接对象为null ,我不知道为什么… 有没有类似的问题? 或者解决scheme或想法….

你可以从expressjs应用程序调用一个shell脚本?

有谁知道,如果你可以从expressjs应用程序调用一个shell脚本? 我正在写一个应用程序,我想在git post-receive hook之后移动一些文件,但难住这个部分。

Heroku:“bash:./start.sh:权限被拒绝”

我有一个Procfile应用程序设置为运行一个shell脚本,但Heroku不会运行该脚本,指出“权限被拒绝”。 Procfile: web: ./start.sh start.sh: #!/usr/bin/env bash clear; until node app.js; do echo "Server crashed with exit code $?. Respawning.." >&2 sleep 1 done Heroku日志: Starting process with command './start.sh' bash: ./start.sh: Permission denied State changed from starting to crashed Process exited with status 126

node.js – 将子快捷键发送给subprocess

我的程序产生“ssh”作为subprocess,与服务器连接,然后能够写入stream并读取其输出。 这一切工作正常。 当我把“ls”写入进程stream时,我得到了一个文件列表。 但现在,我想发送快捷键到这个进程,以便我可以放弃在ssh会话中运行的进程。 我知道这也可以通过stream,但我可以在哪里读到我必须发送到stream程,使其了解我的快捷键? 谢谢你的帮助!

使用bash和Node.js的child_process使用shell选项失败

subprocessAPI可以用来在node.js中执行shell脚本。 我使用child_process.exec(命令[,选项],callback)函数 作为一个选项,exec的用户可以设置shell:'/ path / to / shell'来select要使用的shell。 (默认为'/ bin / sh') 将选项设置为{shell:'/ bin / bash'}不会使exec用bash命令。 我已经通过发出打印“/ bin / sh”的命令“echo $ 0”来validation这一点。 如何通过shell选项使用bash和child_process.exec? (我的目标是在bashrc中使用我的path定义,现在当我尝试使用grunt时,无法find二进制文件。设置cwd,选项字典中的当前工作目录按预期工作) —————–更新,例如 'use strict'; var cp = require('child_process'); cp.exec('echo $0', { shell: '/bin/bash' }, function(err, stdout, stderr){ if(err){ console.log(err); console.log(stderr); } console.log(stdout); }); 输出: /bin/sh which bash 打印:/ bin / bash

如何使用NodeJS在SSH2上执行多个命令

我试图部署从GitHub使用我想执行多个命令,按照数组的顺序。 我现在使用的代码包含在下面。 async.series([ … // Deploy from GitHub function (callback) { // Console shizzle: console.log(''); console.log('Deploying…'.red.bold); console.log(); console.log(); var deployFunctions = [ { command: 'cd ' + envOptions.folder + ' && pwd', log: false }, { command: 'pwd' }, { command: 'su ' + envOptions.user, log: false }, { command: 'git pull' }, { command: […]

如何从Atom电子应用程序调用Shell脚本或Python脚本

我正在尝试使用Atom电子为Mac和Windows编写桌面应用程序。 我需要的是: 一个button。 而当用户点击button时,它会运行以下shell(或python脚本): ping xxxx 结果将显示在TextArea中。 我尝试使用[shelljs]和[yargs],但它似乎不适用于Atom电子。 我想要的只是使用JAVASCRIPT编写桌面应用程序(当然GUI),它调用一些脚本(shell && python)来做一些自动化工作。 任何build议将不胜感激,谢谢:)

Gruntjs – 以特定顺序运行多个阻塞任务(Mongo&Node.js)

我最近爱上了Gruntjs,并且乐于投入每一个使我的发展更容易的机会。 我目前正在编译我的SASS文件,运行手表,并使用nodemon保持我的节点服务器更新,因为我在应用程序上工作。 所以这就是我早上把自己搞疯的地方。 我想在运行Node应用程序之前启动MongoDB。 在Node应用程序的设置中,我检查数据库中的任何值,如果它是空的,则将testing文件充满信息到表中。 我目前已经尝试使用grunt-concurrent和grunt-shell-spawn运行必要的mongo和node命令。 grunt.initConfig({ shell: { mongo: { command: 'mongo' }, node: { command: 'node app.js' } }, concurrent: { dev: { tasks: ['shell:mongo','shell:node'], options: { logConcurrentOutput: true } } } }); grunt.loadNpmTasks('grunt-concurrent'); grunt.loadNpmTasks('grunt-shell-spawn'); 有没有办法确保mongo命令在运行节点任务之前达到“阻塞”状态? 我猜测这可以通过在setTimeout函数上运行asynchronous节点任务来完成,但我不想一直等待开发过程中的更改才能生效。 目前我一直在为数据库保留一个单独的shell选项卡,并且真的想把它集成到Grunt中,把所有东西放在一个地方。 我不确定这个问题的重要性,但是使用Node.js和MongoDB的人都会觉得这很有用。 谢谢

如何启动节点服务器并导出NODE_PATH(使用npm start或inline命令)

在启动服务器之前,我需要导出('set'actualy,我使​​用Win7)NODE_PATHvariables。 我试图用这个命令(即使在命令行中不工作): set NODE_PATH=./ && node server.js 和package.json: "scripts": { "start": "set NODE_PATH=. && node server.js" }, 但它不工作。 我得到Error: Cannot find module ,只有当NODE_PATH没有指定。 那么,这个问题怎么解决呢? 我需要一个正确的方式来导出NODE_PATH并使用内联命令运行服务器,或者为“启动”脚本指定两个单独的命令。