Tag: bash

如何安装连接作为可执行文件使用bash

我已经通过npm安装了连接,但无法访问它的可执行文件,我该如何安装它? $ node -v v0.4.7 $ npm -v 1.0.6 $ express -v 2.3.4 $ connect -v -bash: connect: command not found 更新 我已经将它添加到$PATH : $ npm link connect ../../node_modules/connect -> /Users/Alfred/local/lib/node_modules/connect export PATH=$HOME/local/lib/node_modules/connect:$PATH' >> ~/.bash_profile $PATH -bash: /Users/Alfred/.rvm/gems/ruby-1.9.2-p0/bin:/Users/Alfred/.rvm/gems/ruby-1.9.2- p0@global/bin:/Users/Alfred/.rvm/rubies/ruby-1.9.2p0/bin:/Users/Alfred/.rvm/bin:/Users /Alfred/local/lib/node_modules/connect:/Users/Alfred/local/bin:/usr/bin:/bin:/usr/sbin: /sbin:/usr/local/bin:/usr/local/lib:/usr/local/git/bin:/ usr/X11/bin: No such file or directory 但它仍然不工作…

运行节点作为从subprocess运行的脚本的后台进程

我正在端口5100上运行一个节点服务器。它执行一个shell脚本作为subprocess,然后启动另一个节点服务器。 var execFile = require('child_process').execFile; execFile("./testscript", args, {cwd: cwd}, function (error, stdout, stderr) { console.log("error.." + error); console.log("stdout.." + stdout); console.log("stderr.." + stderr); }) 在脚本中,我正在通过nohup运行一个节点进程: nohup node server.js PORT=5200 2>/dev/null 1>/dev/null & 现在,node @ 5200拥有了对@ 5100节点的testing脚本的支持。 当我杀死节点@ 5100的PID时,一切都停止。 我希望node @ 5200在testscript和node @ 5100退出时仍然运行。

Emacs Mx术语无法find节点/咖啡

我一直在mac-emacs上徘徊,而且我有Mx install-package -d咖啡模式。 我决定尝试一下coffee-compile-file命令,但是当我运行它时,它失败了,抱怨找不到coffee命令。 所以我打开ZSH和Bash的terminal。 coffee和node运行良好。 所以,分割我的emacs屏幕,眨出Mx term ,让bash加载,然后inputcoffee : bash-3.2$ coffee bash: coffee: command not found 奇。 我尝试了相同的节点和NPM。 bash-3.2$ node bash: node: command not found bash-3.2$ npm bash: npm: command not found 我的问题是, 为什么这只发生在Mx term ,我该如何解决。

如何在swift中执行terminal命令?

我是新来的。 我如何从Swift代码运行这个过程? 打开terminal窗口 执行cd Desktop/firebase-mac 执行npm start 我真正想要做的是从Swift代码单击启动节点服务器。

为node.js脚本创build一个启动器

我正在尝试为node.js脚本创build一个启动程序(这样我就可以通过单击它们的文件图标来运行脚本,而不是从terminal启动它们)。这通常是如何完成的? 我更喜欢如果我可以通过点击它的图标在terminal上运行一个脚本。 我尝试编写一个shell脚本来在同一个文件夹中启动另一个脚本,但是由于某种原因它没有显示node.js脚本的命令行输出: #!/bin/bash echo -n "Enter a node.js script to run > " read text node "$text"

我如何计算各种字符的terminal列宽?

我正在计算各种打印和非打印ASCII / Unicode字符将在terminal视图中占用的terminal列数。 例如,水平制表符( \t )占用8列,颜色代码(即\x1b32m )占用0列,而固定大小的宽string(即,可能占用2列)。 当然在主要的ASCII集中有很多只占用1列(即aZ/0-9 ,标点符号等)。 我遇到了node.js模块, wcwidth ,这似乎有助于计算宽字符的string,但没有做我期望的其他字符,如颜色代码和标签。 例如: var wcwidth = require('wcwidth'); console.log("TAB WIDTH", wcwidth('\t')); console.log("한 WIDTH", wcwidth('한')); console.log("Color Code WIDTH", wcwidth('\x1b32m')); console.log("X WIDTH", wcwidth('X')); 输出: TAB WIDTH 0 한 WIDTH 2 Color Code WIDTH 3 X WIDTH 1 我似乎无法在任何地方find任何有关这方面的信息,但我想可以想象,在古代,人们必须解决这个问题。 如果可能有一种方法使用bash脚本,或任何库,应用程序或工具,我也完全开放。 任何帮助非常感谢! :) 谢谢

将string转换为shell参数

我感兴趣的是如何parsingbashinput到参数。 例如,通过使用process.argv我们在NodeJS中获得了一个string数组(但是这是语言不可知的)。 我的问题是如何parsing像"node foo.js –foo "bar baz" -b foo"input到类似于process.argv (或其他语言的等价物)返回(例如["node", "foo.js", "–foo", "\"bar baz\"", "-b", "foo"] ? 由空间分割是不够的(由于报价)。 是否有可能用一些更复杂的正则expression式来处理引号并得到这样一个数组?

Node.js:获取mp4文件的video和audio格式信息

我是node.js的新手 我需要为给定的video文件提取audio和video格式(编解码器)信息。 我知道如何在bash中这样做,这要感谢mplayer: $ mplayer -vo null -ao null -identify -frames 0 myvideo.mp4 2>/dev/null | grep FORMAT ID_VIDEO_FORMAT=H264 ID_AUDIO_FORMAT=MP4A 我想知道是否有一个npm模块(库),让我得到相同的信息。 或者我可以启动上面的命令formsnode.js和读取/parsing标准输出(我认为有很多的例子)。 不过,我宁愿使用node.js“原生”解决scheme。

只将stdoutredirect到/ dev / null

我还没有掌握奇怪的shell stdioredirect的东西呢。 我想运行npm install但redirectstdout,所以我不必看到所有这一切。 (我还想在terminal捕捉stderr,我只是不想看到stdout)。 npm install -D suman 1> /dev/null 这似乎并不奏效。 什么是正确的语法(可能,为什么)用于只redirect到/dev/null stdout?

用bash读取package.json文件的name属性

我有这个: str=`cat package.json` prop="name" my_val="$(node -e "console.log(JSON.parse(${str})[${prop}]);")" echo "$my_val" 我想读取package.json文件的name属性。 我认为这是接近,但我得到一个JSON.parse错误: SyntaxError: Unexpected token o in JSON at position 1 at Object.parse (native) at [eval]:1:18 at ContextifyScript.Script.runInThisContext (vm.js:25:33) at Object.runInThisContext (vm.js:97:38) 任何人知道如何解决? 这工作: prop="name" my_val="$(node -e "console.log(require('./package.json')['$prop'])")" echo "json val: '$my_val'" 但我想知道如何做到这一点。