Tag: bash

vogue(nodeJS模块)在哪里,以便我可以将它添加到PATH?

我一直按照http://aboutcode.net/vogue/上的说明 – 安装nodeJS和npm,没有错误 – 但是当涉及到步骤: $时尚path/到/网站 我得到: -bash:vogue:找不到命令 我如何find时尚将其添加到PATH? 我努力了: find/ usr -name vogue -type f find/ -name vogue -type f 没有快乐

无法停止我的启动脚本debian挤压

我试图设置一个webapp我正在做的部署,我有一些启动脚本的问题。 这是我迄今为止所做的: #!/bin/bash DIR=/webroot/webapp.com PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NODE_PATH=/usr/local/lib/node_modules NODE=/usr/local/bin/node test -x $NODE || exit 0 function start_app { NODE_ENV=production nohup "$NODE" "$DIR/production/WebApp/server.js" echo $! > "$DIR/production/WebApp/webapp.pid" } function stop_app { kill `cat $DIR/production/WebApp/webapp.pid` } case $1 in start) start_app ;; stop) stop_app ;; restart) stop_app start_app ;; *) echo "usage: webapp.com {start|stop}" ;; esac exit 0 我可以像这样开始,但当我试图阻止它,我得到这个: […]

我怎样才能将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;

在安装节点时,我得到有关我的path的提示

提示 Node was installed at /usr/local/bin/node npm was installed at /usr/local/bin/npm Make sure that /usr/local/bin is in your $PATH. 我怎么知道它是否在我的path? bashconfiguration文件 export PATH=$PATH:/Users/anderskitson/bin export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="/usr/local/mysql/bin:$PATH" #navigate to tech basics theme alias techbasics='cd /Users/anderskitson/sites/techbasics/wp-content/themes/techBasicsCustom ; subl . ' 这是我的回声 Anderss-iMac:~ anderskitson$ echo $PATH /usr/local/mysql/bin:/Users/anderskitson/.rbenv/shims:/Users/anderskitson/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/anderskitson/bin

bash和javascript之间的消息通过命名pipe道

我有一个JavaScript应用程序需要启动一个Linux应用程序。 由于我没有find任何方式来启动应用程序,当它结束时,我做了一个bash脚本启动应用程序,并在应用程序closures时通过命名pipe道发送消息。 直到这里,一切都很好,但是我找不到在javascript中捕获这个消息的方法。 有人知道如何获得在JavaScript的消息? 我search了,但我只发现如何在C#和C ++中做到这一点。 来自javascript的示例: var test = spawn('sh', ['home/pi/play.sh', data.video_id]); 只是产生一个bash命令,以video的名称启动脚本 来自bash的示例: mkfifo btjpipe if pgrep omxplayer then echo "AR">btjpipe else clear omxplayer $1 > dev/null echo "VE">btjpipe 创buildpipe道,寻找玩家是否已经在运行,然后发送AR(“已经运行”)或启动播放器并发送VE(“Video End”)。

作为一个不同的用户永远在su内运行

我正在经历奇怪的行为永远,我想用来保持活着我的节点应用程序。 我想以我的普通用户lwood而不是root身份运行我的永久进程。 我需要知道如何在root模式下正常运行,但作为用户lwood 。 (这是必要的,因为,例如,作为特殊情况,新贵脚本以root身份运行。) 这些命令说明了我的问题(我在Ubuntu 12.04上, $是普通用户, #是root): $ su [type in su password] # cd /home/lwood/myapp # sudo -u lwood forever -a -l "/home/lwood/myapp/logfile.log" start app.js info: Forever processing file: app.js # forever list info: No forever processes running # exit $ forever list info: No forever processes running 所以永远成功地开始了,但没有任何进程在lwood和root之下运行! 我该如何解决这个问题?

在错误在亚马逊服务器上执行bash,bash是在正确的path

我正在使用Gith在亚马逊服务器上构build一个webhook服务器来自动部署。 当我更新我的存储库时,gith服务器可以接收更新,然后我想执行bash。 bash文件位于/home/ubuntu/node/githook/hook.sh,console.log(__ console.log(__dirname+'/hook.sh');的path上console.log(__dirname+'/hook.sh'); 输出正确的path,但是当使用execFile执行path时,它给出了一个错误 错误{ [Error: spawn EACCES] code: 'EACCES', errno: 'EACCES', syscall: 'spawn' } 上面的代码,但不知道为什么执行代码给了我这样的错误。 var gith = require('gith').create( 8080 ); var execFile = require('child_process').execFile; gith({ repo: 'heroku/node-js-sample' }).on( 'all', function( payload ) { if( payload.branch === 'master' ) { //console.log('all',payload ); console.log(__dirname+'/hook.sh'); execFile(__dirname+'/hook.sh', function(error, stdout, stderr) { // Log success in some […]

如何列出在脚本中分离的进程?

我有: $ cat ./test #!/bin/bash gulp dev & 然后运行它: $ ./test … (..命中input以获得命令提示符)脚本中的命令启动node进程。 但我没有在后台进程中: $ jobs -p 打印空的列表。 所以我们的目标是能够在单个脚本中列出/终止(多个)启动和分离的进程。 如何?

不断search文件整天? batch file?

我想知道我将如何实现这一目标? 我想不断循环一个目录,如果存在的文件删除它? 我可以在bash脚本中做到这一点,或者我需要使用像nodejs的东西吗? 谢谢!

如何使用通用规范或元configuration生成新创和监控configuration文件?

我正在部署一个节点Web应用程序作为使用grunt的暴发户服务,并使用monit监视它。 然而: 我的新贵和monitconfiguration相互复制一点点 Upstart不会在env节中进行可变扩展 我无法finddynamicconfiguration.override的方法(ala upstart .override文件) 我的问题 这意味着我正在寻找一个可以用来生成uptstart .conf和monit conf.d /文件的grunt插件或其他工具。 你能帮我find一个(或build议一个更好的方式来健壮地运行我的节点的Web应用程序)? 一个相当简单的解决 说实话,一个暴发户和monit文件的下划线模板可能就足够了,这就是如果没有现成的解决scheme,我会包装成一个咕噜的插件,但这是一个问题,其他人必须也遇到了,所以我想有一个解决scheme,我只是找不到它。 详情 更详细地说明这三个问题。 我的新贵conf文件看起来像这样: setuid node setgid node # … script mkdir -p /home/node/.my-app echo $$ > /home/node/.my-app/upstart.pid /usr/local/bin/node /var/node/my-app/server.js >> /var/node/my-app/logs/console.log 2>&1 end script # … 而我的monitconfiguration如下所示: check process node with pidfile /home/node/.my-app/upstart.pid start program = "/sbin/start my-app" with timeout […]