Tag: shell

用shell命令通过节点启动Android模拟器时的callback

我打开一个shell脚本与节点的android模拟器: var process = require('child_process'); process.exec('~/Library/Android/sdk/tools/emulator -avd Nexus_5_API_21_x86', processed); function processed(data){ console.log('processed called', data, data.toString()); } 我需要能够检测到模拟器加载完成后,我可以启动一个屏幕解锁,然后启动浏览器到指定的URL( ~/Library/Android/sdk/platform-tools/adb shell input keyevent 82 ~/Library/Android/sdk/platform-tools/adb shell am start -a android.intent.action.VIEW -d http://www.stackoverflow.com ) 然而,当我启动模拟器时,我似乎没有得到任何回报,并且该过程保持与模拟器相关联。 当closures进程(ctrl + c)时,仿真器随之closures。 (这与在terminal中直接运行shell命令的行为是一样的) 是否有可能知道模拟器何时打开和加载? 如何在进程继续运行时执行其他命令?

node.js中的execSync不能正确运行shell命令

我试图在node.js中运行一个child_process.execSync shell命令,如下所示: function test() { return new Promise(function(resolve, reject) { var execSync = require('child_process').execSync; var result = execSync('some executable I manually installed', { encoding: 'utf8', silent: true }); if (result.search('something') > -1) { resolve("ok"); } else if (result.search('something else') { resolve("nok"); } else { reject(Error("ERROR")); } }); } test().then(function(result) { console.log(result); }, function(err) { console.log(err); […]

在node.js中获取所有嵌套的subprocess的标准输出

我创build了一个节点脚本来启动subprocess,并且我已经成功地将其stdoutredirect到控制台。 但是,如果subprocess创build一个嵌套的subprocess,那么我无法得到它的标准输出或标准input。 我有一个模糊的想法,我必须创buildstream,并将其pipe道父进程,但我不知道现在。 有人可以请一个方法来实现它。 下面是我现在启动subprocess的代码 spawn = require('child_process').spawn; ls = spawn "ruby" , [ @editor.getPath() ] ls.stdout.on 'data', (data) -> console.log data.toString() ls.stderr.on 'data', (data) -> console.log data.toString()

nodejs exec在真实terminal中给出比函数调用更多的输出

我有问题,当我通过child_process.exec在nodejs中运行一个terminal命令时,我得到了另一个输出,而不是当我在一个真正的terminal运行命令。 我的代码如下所示: function checkLocalIP() { logger.debug("Checking the local IP"); execute("ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'", function(localIP) { if(isIp.v4(localIP)) { logger.debug("Local IP found",{localIP:localIP}); return true; } else { logger.error("Local IP not found",{localIP:localIP}); return false; } }); } function execute(command, callback){ logger.debug("Executing command: "+command,{command:command}); exec(command, function(error, stdout, stderr){ callback(stdout); […]

从父节点进程(PM2,NodeJS)运行更新脚本

我有一个名为update.sh的脚本更新服务器。 问题在于; 当我停止PM2进程时,它结束了bash进程(?)。 我无法弄清楚如何从没有链接到父级的父级产生一个进程。 :-S update.sh #!/bin/bash # Check we are not already updating. if [ -f update.lock ]; then echo "Already updating. Locked." exit fi # Make the log file. rm update.log touch update.log # Create update lock. touch update.lock echo "Cleaning up" | tee update.log rm -rf the-last-word rm -rf Server echo "Retreving […]

如何创build类似tutorialspoint的Linuxterminal?

TutorialsPoint Java编译器 在tutorialspoint中,他们使用term.js创build了linuxterminal。 我已经在我的项目中集成了相同的github库,它工作正常,但我想了解教程点的stream程。 我的假设: 在tutroialspoint中,每次在root用户(cg)下创build新的user_id并使用user_id运行terminal(nodejs服务器)时,每次重新加载页面时都会有不同的user_id(在terminal中运行whoami ) t操作其他用户文件。 我正在root用户下运行使用forever.js的nodejs服务器,我想实现相同types的function。 什么是正确的方法来做到这一点? 如果有另一种方式请详细说明。

将mac节点脚本转换为windows

我有一个postinstall节点脚本,将以前运行的脚本复制到我的npm-scripts文件夹中。 但是,这只适用于Mac。 我需要它为Windows工作,所以我正在创build一个新的文件,将Windows运行1或下面列出的Mac的一个。 `cp ../node_modules/some-components/npm-scripts/*.js ../npm_scripts` 我没有看到一个清晰的方法来转换语法,以便可以通过Windows机器以及是否使用复制或robocopy。 任何build议将不胜感激。

我如何编写一个shell脚本使用节点一个接一个地运行多个JavaScript文件?

我想写一个.sh文件来运行多个JavaScript文件。 我知道我需要以下几行: #!/usr/bin/env node chmod u+x ./a/file1.js ./a/file2.js 将两个.js文件依次放在一起是正确的吗? 我需要file1.js先执行然后file2.js,因为file2.js中的一些函数需要从file1.js输出的信息。 我也对#!/ usr / bin / env节点和#!/ usr / bin / env bash之间的区别感到困惑。 我仍然可以用bash运行我的.js文件吗?

使用命令扩展运行NPM脚本在返回之前分析结果 – 与bash不同

如果我在shell中运行echo "$(echo 'A\nB')" ,我得到的输出是: A\nB 但是,如果我在NPM脚本中放置相同的代码: "scripts": { "example": "echo \"$(echo 'A\nB')\"" } 然后运行该脚本: npm run -s example 。 我得到一个输出与\n换成一个实际的新行: A B 我怎样才能禁用这个string的解释? 为什么NPM将命令扩展与shell不同? 这只发生在命令扩展: $(some command here)

像nodejs的伪terminal开始bash

我正在开发一个节点cli的应用程序,像伪terminal启动一个bash。 用户应该能够在该terminal执行正常的bash命令,如cp , cd , mkdir等。例如, dummy-linux-user:~$ my-node-cli-cmd Bingo! node-based-bash:~$ 尝试使用这个包https://github.com/substack/bashful,但它不会像正常的bashterminal一样给自动完成,它会退出节点进程的command not found错误。 我想向用户展示一个类似ttyterminal。