Tag: bash

使用命令扩展运行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)

使用从uglify-js和sass中查找的pipe道输出

我正在探索使用NPM作为构build工具,并遇到了让我难倒的一个问题。 我想要做的就是使用find来获取文件列表,然后将这些文件转换为像uglify-js或sass这样的命令: find ./views -type f -name '*.js' | uglifyjs xargs -o public/js/script.min.js 在uglify-js和sass中,我都得到这个错误的一个版本: 错误:无法读取文件:xargs 我不完全确定我所要做的甚至是可能的,或者我应该以不同的方式去做。 我知道我可以达到我想要的: uglifyjs views/*.js views/**/*.js -o public/js/script.min.js 我可以看到,如果您的.js文件分散在多个目录中,那么在较大的项目中会变得有些笨拙,因此我有兴趣使用类似find的东西来获取文件列表。 任何帮助或正确的方向点将不胜感激,欢呼!

像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。

收到一个404错误,因为npm安装的请求URL是随机添加单词“清除”

如下面的代码所示,npmregistry的URL是https://registry.npmjs.org/clear/ionic ,它应该是https://registry.npmjs.org/ionic 。 我已经完全卸载节点和NPM,重新启动我的电脑,并重新安装,但我仍然得到同样的问题。 虽然之前我无法安装离子和cordova,但是这个URL问题只是在清除我的控制台之后才出现的。 然而,我不知道如何可以影响registry的url。 npm install -g ionic cordova npm ERR! Darwin 16.3.0 npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "ionic" "cordova" npm ERR! node v6.9.4 npm ERR! npm v3.10.10 npm ERR! code E404 npm ERR! 404 Registry returned 404 for GET on https://registry.npmjs.org/clear/ionic npm ERR! 404 npm ERR! 404 'clear' is not […]

在terminal中滚动一个大的console.logstring

考虑我在Node.js中打印大量文本在这个例子中,考虑我打印整个圣经ftp://ftp.cs.princeton.edu/pub/cs226/textfiles/bible.txt (或者只有一章)这是一大块文字,你明白了。 但! 当我输出的文字,在这样的terminal: // str being a large string console.log(str) 我们将在terminal滚动到string的末尾。 我们将不得不在terminal中再次滚动到string的开头来查看它。 我怎样才能“回滚”到string的开头( 在代码中 ),所以我不必手动向上滚动。 这甚至有可能吗? 我在想, man页是这样做的,所以它可能是…任何想法?

在Travis的后台运行节点服务器

我试图对travis进行unit testing,它需要一个位于单独目录中的节点服务器来运行。 所以我需要在运行chai-mochatesting之前让服务器在后台运行。 但是我一直有很多麻烦得到这一切工作…这里是我的.yml文件 language: node_js node_js: – "6.10.0" services: mongodb env: – TEST_DIR=UserService/server – TEST_DIR=ApplicantService – TEST_DIR=ta-corrd-service before_script: – sleep 15 script: – cd UserService/server && npm install nodemon && npm install && npm start& cd $TEST_DIR && npm install && npm test 我需要进入userservice / server目录,然后执行npm start,然后在每个test_dir中执行npmtesting。 错误我得到特拉维斯 > proj-awol@0.0.0 test /home/travis/build/csc302-2017-spring/proj-Awol/ta-corrd-service > mocha […]

监视/监视某个关键字的后台作业

在一个bash脚本中,我想用下面的方式来监视/监视后台进程/作业: 在后台运行一个命令(在我的情况下,nodeJS) 监视它的输出,但不显示它 只要输出包含“错误”一词或作业退出/停止: 显示最后一个输出(即完整的错误信息) 退出脚本 我怎么做?

如何从BASH中的节点脚本访问返回值?

假设我有一个调用节点脚本的bash脚本。 我试过这样做: b.sh文件: #!/bin/bash v=$(node app.js) echo "$v" app.js文件: #!/usr/bin/env node function f() { return "test"; } return f(); 如何从我的bash脚本访问节点脚本(“testing”)返回的值?

从NPM脚本获取stdout到一个variables

我有这个节点脚本parsing.YAML并输出一个名为版本的字段 node node/getAssetsVersion.js => "2.1.2" 我试图把这个stdout变成一个variables,并在NPM脚本中使用它 这就是我想在我的package.json中做的事情: "scripts": { "build": "cross-env VERSION=\"$(node node/getAssetsVersion.js)\" \"node-sass –include-path scss src/main.scss dist/$VERSION/main.css\"" } 谢谢!

如何使killallclosures进程所在的terminal?

那么怎样才能closureskillall进程所在的terminal。 我试过这个: 在第一个terminal: killall node 在第二候机楼: Ready Terminated 但是我想只有第二个terminal在节点被杀后closures。